Validación JQuery: ¿regla única para varios campos?
-
06-07-2019 - |
Pregunta
Esta podría ser una pregunta simple, pero solo estoy respondiendo esto, así que por favor sea amable :)
Utilizando la validación JQuery, si quiero que un cuadro de texto sea un campo obligatorio, simplemente puedo agregar una clase css de "requerido" al elemento y la validación lo recoge.
Si quiero una regla un poco más compleja, es decir. requerido con una longitud mínima, ¿puedo usar un nombre de clase css personalizado como clave para una regla, o tengo que escribir una regla separada para cada cuadro de texto en el que quiero una longitud mínima? La documentación indica que la clave para una regla personalizada es el atributo Nombre de un elemento.
Gracias de antemano, Nick
EDITAR:
He intentado agregar una regla y luego agrego el nombre de la regla a los elementos como una clase, pero se ignora por completo.
En mi script:
$("#popupWindow #frmWidgetUpdate").validate({
rules: {
minLength3: {
required: true,
minlength: 3
}
},
errorClass: "field-validation-error",
highlight: function(element, errorClass) {
$(element).addClass("input-validation-error");
},
unhighlight: function(element, errorClass) {
$(element).removeClass("input-validation-error");
},
errorPlacement: function(error, element) {
error.appendTo(element.parent().find(".errorLabel"));
}
});
En mi html:
<label>Widget Title:<span class="errorLabel"></span><br />
<%=Html.TextBox("WidgetTitle", _
Model.WidgetTitle, _
New With {.class = "param minLength3", _
.style = "width:100%;", _
.maxlength = "50"})%>
</label>
Solución
Simplemente use varios nombres de clase:
<input class="required numeric mySpecialRule" ...