javascript - validar - Cómo activar la función jQuery solo si la forma es válida
validar formulario javascript html5 (2)
Si está utilizando la validación discreta de jquery validate, podría:
$(function () {
$(''#signupform'').submit(function () {
if($(this).valid()) {
alert(''the form is valid'');
}
});
});
Tengo una función jQuery vinculada a mi botón de envío como esta:
$(function () {
$(''#signupform'').submit(function () {
alert(''test'');
});
});
Sin embargo, se dispara si el formulario es válido o no. Mi modelo está decorado con varias Anotaciones de datos y la validación del lado del cliente funciona bien, pero solo quiero que la función jQuery se active si el formulario ha sido validado. ¿Cómo logro eso?
EDITAR: Para aclarar, estoy usando MVC DataAnnotations + jQuery javascript discreto para manejar la validación del lado del cliente. No tengo mis propias rutinas de validación de javascript escritas. La validación jQuery incorporada está haciendo un gran trabajo de validación del formulario, pero solo necesito saber cómo obtener los resultados de esa validación en un valor booleano dentro de mi propia función.
$(function () {
$(''#signupform'').submit(function (e) {
if (validateForm() === true) {
alert(''Form is valid.'');
}
});
});
Tenga en cuenta que la función validateForm()
sería la que utiliza dentro del navegador para probar la validación. EDITAR: Esto es de hecho jQuery''s $(this).valid()
.
NOTA: Al aclarar la pregunta, la respuesta anterior es una forma de detener el envío de formularios en la validación, pero no la técnica deseada ( validación jQuery válida () ). Vea la respuesta de Darin Dimitrov para más detalles.
Además, al releer la pregunta original, la intención era exactamente lo opuesto a lo que describí originalmente. Así que edité para demostrar una respuesta funcional en la validación, no cómo evitar el envío de un formulario.