Estoy intentando configurar algo de validación, de modo que si el botón de opción 'Sí' está marcado, otro control, que es una lista desplegable, debe validarse para asegurarse de que no está configurado a la primera entrada predeterminada en la lista "Seleccione ...".jQuery.Validate Validación Condicional RadioButton y DropDownList
He intentado muchas combinaciones pero no he podido hacer que esto funcione. El mensaje de validación muestra si la casilla de verificación está marcada o no.
He aquí algún código!
Este es un método personalizado que tengo que utilizo para validar mis listas desplegables. (Esto funciona bien para la validación sencilla DDL)
$.validator.addMethod(
"selectNone",
function(value, element) {
return this.optional(element) || element.value != "Please Select...";
},
"Please select an option."
);
Para hacer la validación basada en la casilla He añadido una regla de 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"
}
}
});
});
Y aquí están los controles.
<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>
Cualquier idea sería muy apreciada.
Muchas Gracias
pero no lo hace tiene un "Por favor seleccione ..." y esto tiene que seguir siendo – andyJ
Sólo el valor de la opción tiene que estar en blanco, no el texto. Si el control no puede hacer esto, use jquery para cambiar el valor a blanco en listo. – ScottE