Tengo un formulario que opcionalmente se puede completar previamente a través de Facebook Connect. Una vez que un usuario se conecta, su nombre y correo electrónico se completan automáticamente. El problema es que esto no activa la validación remota para verificar si el correo electrónico ya existe.
¿Hay alguna forma de que pueda llamar a la validación solo en ese campo? Algo como:
$('#email-field-only').validate()
sería idea. Busqué en los documentos sin suerte.
$('input[name=email-field-only]').valid();
también funcionaUtilizar
Validator.element()
:Aquí está el ejemplo que se muestra en la API:
var validator = $( "#myform" ).validate(); validator.element( "#myselect" );
.valid()
valida todo el formulario, como han señalado otros. La API dice:fuente
Por alguna razón, algunos de los otros métodos no funcionan hasta que el campo se ha enfocado / borrado / cambiado, o se ha intentado un envío ... esto funciona para mí.
$("#formid").data('validator').element('#element').valid();
Tuve que buscar en el script jquery.validate para encontrarlo ...
fuente
.valid()
al final, así que me$("#Form").data('validator').element('input[name=__Suburb]').valid();
buscó.Creo que si no lo selecciona por ID, esto podría ser necesario..valid()
pertenezca al final de la expresión. La.element()
función devuelve un resultado booleano ( docs | src ). Cuando intento llamar .valid (), aparece el mensaje de error: "$(...).data(...).element(...).valid
$("#FormId").validate().element('#FieldId');
fuente
Cuando configure su validación, debería estar guardando el objeto de validación. puede usar esto para validar campos individuales.
<script type="text/javascript"> var _validator; $(function () { _validator = $("#form").validate(); }); function doSomething() { _validator.element($('#someElement')); } </script>
- publicado con esta pregunta similar
fuente
Si desea validar un campo de formulario individual, pero no desea que la interfaz de usuario se active y muestre errores de validación, puede considerar usar el método Validator.check () que devuelve si el campo dado pasa la validación o no.
He aquí un ejemplo
var validator = $("#form").data('validator'); if(validator.check('#element')){ /*field is valid*/ }else{ /*field is not valid (but no errors will be displayed)*/ }
fuente
en caso de que quiera hacer la validación para "algunos elementos" (no todos los elementos) en su formulario. Puede usar este método:
$('input[name="element-one"], input[name="element-two"], input[name="element-three"]').valid();
Espero que ayude a todos :)
EDITADO
fuente
$("#element").validate().valid()
fuente