Sto tentando di impostare una convalida, in modo che se il pulsante di opzione "Sì" è selezionato, un altro controllo, che è un elenco a discesa, deve essere convalidato per assicurarsi che non sia impostato alla prima voce predefinita nell'elenco "Selezionare ...".jQuery.Validate Convalida condizionale RadioButton e DropDownList
Ho provato molte combinazioni ma non sono riuscito a farlo funzionare. Il messaggio di convalida indica se la casella di controllo è selezionata o meno.
Ecco un po 'di codice!
Questo è un metodo personalizzato che utilizzo per convalidare i miei elenchi a discesa. (Questo funziona bene per una semplice convalida DDL)
$.validator.addMethod(
"selectNone",
function(value, element) {
return this.optional(element) || element.value != "Please Select...";
},
"Please select an option."
);
di fare la convalida sulla base la casella ho aggiunto una regola per la forma
$(document).ready(function() {
var validator = $("#BuildingsCoverForm").validate({
rules: {
NCBYears: {
selectNone: function(element) {
return $("*[name='PreviousInsurance']")[0].checked;
}
}
},
messages: {
NCBYears: {
selectNone: "This field is required"
}
}
});
});
E qui ci sono i controlli.
<p>
<label for="PreviousInsurance" class="halfstretch">Do you have any previous insurance?</label>
<%= Html.YesNoControl("PreviousInsurance", Model.PreviousInsurance)%>
</p>
<p>
<label for="NCBYears" class="halfstretch">Building No Claim Bonus</label>
<%= Html.DropDownList("NCBYears", ViewData["NCBYears"] as SelectList)%>
</p>
Qualsiasi idea sarebbe molto apprezzata.
Molte grazie
Ma non è vero ha una "Selezionare ..." e questo deve rimanere – andyJ
Solo il valore di opzione deve essere vuoto, non il testo. Se il controllo non può farlo, usa jquery per cambiare il valore in bianco pronto. – ScottE