2012-03-08 10 views
6

Estoy cargando un formulario con los atributos apropiados para jQuery a través de una llamada AJAX, el problema se debe a que están cargando en su después de que el documento está listo la validación discreta jQuery no recoge la validación requerida. ¿Alguien puede decirme el método que utilizaría para reiniciarlo?¿Cómo reiniciar la validación no intrusiva de jQuery?

Gracias, Darren

+0

¿Puedes mostrar el código que estás usando para * intentar * inicializarlo? –

+0

¿Encontró alguna solución? Estoy tratando de ver si hay una función de reinicio, pero parece que una vez que se ha configurado con .validate, realmente no se puede liberar y estás atascado con la configuración original ...:/ –

+1

@MykaEyl Simplemente reinicialízalo en el método completo o de éxito como a continuación. – Darren

Respuesta

21

para analizar los atributos de validación del formulario después de devolverlo a la página que necesita para ejecutar esto: $.validator.unobtrusive.parse('#yourFormSelector')

En mi aplicación puse esta llamada en el controlador ajaxComplete, así que no tengo que rry sobre eso más. Lo he reutilizado en cada formulario de la página y ha estado funcionando bien en producción durante bastante tiempo (incluso cuando hay un par de cientos de formularios en la página).

$(document).ajaxComplete(function() { 
    $.validator.unobtrusive.parse('form'); 
}); 
0

Se necesitan reinicializarla dentro de la devolución de llamada de éxito del método que sea ajax que está utilizando, usando el mismo que llame están utilizando actualmente para inicializar la validación

$(selector).load(formUrl, function(){ 

    /* form exists here, run code*/ 
    }) 
Cuestiones relacionadas