Quiero activar manualmente la validación, incluida la visualización de mensajes de error con jQuery Validate .
El escenario que estoy tratando de lograr es una forma como esta:
<form>
<input id=i1> <button id=b1>
<input id=i2> <button id=b2>
</form>
Al hacer clic b1
, solo i1
debe validarse. Al hacer clic b2
, solo i2
debe validarse. Sin embargo, todos los campos deben ser publicados. ¿Cómo puedo hacer esto? Pensé en manejar el evento click b1/b2
y validar manualmente una parte del formulario.
Respuestas:
Esa biblioteca parece permitir la validación de elementos individuales. Simplemente asocie un evento de clic a su botón e intente lo siguiente:
Ejemplos aquí:
https://jqueryvalidation.org/Validator.element
fuente
O simplemente puede usar:
$('#myElem').valid()
Tenga en cuenta que
validate()
debe llamarse en el formulario antes de verificarlo con este método.Enlace de documentación: https://jqueryvalidation.org/valid/
fuente
validate()
necesita ser llamado en el formulario antes de verificarlo usando este método.Mi enfoque fue el siguiente. Ahora solo quería que mi formulario se validara cuando se hizo clic / cambió una casilla de verificación específica:
fuente
Como está escrito en la documentación , la forma de activar la validación de formularios mediante programación es invocar validator.form ()
fuente
Existe un método no documentado a partir de la versión 1.14
Este método valida en silencio para devolver verdadero / falso. No activa mensajes de error.
fuente
Eva M desde arriba, casi tenía la respuesta como se publicó anteriormente (¡Gracias Eva M!):
Esta es casi la respuesta, pero causa problemas, incluso en el complemento de validación jquery más actualizado al 13 de diciembre de 2018. El problema es que si uno copia directamente esa muestra y NUNCA llama ".validate ()" más de una vez , el procesamiento de foco / clave de la validación puede romperse y la validación puede no mostrar los errores correctamente.
Aquí se explica cómo usar la respuesta de Eva M y asegurarse de que no ocurran esos problemas de enfoque / clave / ocultación de errores:
1) Guarde su validador en una variable / global.
2) NO llame a $ ("# myform"). Validate () NUNCA más.
Si llama a $ ("# myform"). Validate () más de una vez, puede causar problemas de enfoque / clave / ocultación de errores.
3) Use la variable / global y el formulario de llamada.
fuente
En mi caso similar, tenía mi propia lógica de validación y solo quería usar la validación jQuery para mostrar el mensaje. Esto fue lo que hice.
fuente
Lo intenté funcionó tnx @Anastasiosyal Quiero compartirlo en este hilo.
No estoy seguro de cómo los campos de entrada no se activaron cuando vacié los campos. Pero logré activar cada campo requerido individualmente usando:
aquí está mi punto de vista
y mi entidad
fuente
Hay una buena manera si usa
validate()
parámetros en un formulario y luego desea validar manualmente un campo de su formulario:Documentación: Validator.element ()
fuente