Próbuję założyć jakąś weryfikację, tak że jeśli „Tak” przycisk radiowy jest sprawdzana kolejną kontrolę, czyli listy rozwijanej musi być zatwierdzone, aby zapewnić, że nie jest ustawiony do domyślnego pierwszego wpisu na liście "Proszę wybrać ...".jQuery.Validate warunkowe Walidacja RadioButton i DropDownList
Próbowałem wielu kombinacji, ale nie udało mi się tego uruchomić. Komunikat sprawdzania poprawności pokazuje, czy pole wyboru jest zaznaczone, czy nie.
Oto kod!
Jest to metoda, która na zlecenie mam użyć, aby zweryfikować rozwijanych listach. (Działa to dobrze dla prostych walidacji DDL)
$.validator.addMethod(
"selectNone",
function(value, element) {
return this.optional(element) || element.value != "Please Select...";
},
"Please select an option."
);
Aby zrobić walidacji na podstawie wyboru Dodałem regułę postaci
$(document).ready(function() {
var validator = $("#BuildingsCoverForm").validate({
rules: {
NCBYears: {
selectNone: function(element) {
return $("*[name='PreviousInsurance']")[0].checked;
}
}
},
messages: {
NCBYears: {
selectNone: "This field is required"
}
}
});
});
I tu są kontrole.
<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>
Wszelkie pomysły będą bardzo mile widziane.
Wiele Dzięki
Ale nie ma "Proszę wybrać ..." i to musi pozostać – andyJ
Tylko wartość opcji musi być pusta, a nie tekst. Jeśli kontrola nie może tego zrobić, użyj jquery, aby zmienić wartość na pustą w gotowości. – ScottE