jquery validar en elementos aún no creados

Me pregunto si es posible que el complemento Validator de jQuery valide los elementos que aún no existen en el dominio cuando las reglas se configuran inicialmente.

Al llamar al método .Rules (“add”, therules) solo se adjuntan las reglas a los elementos que existen actualmente en el dominio. Si tuviera que crear algunos. La validación no se dispara. ¿Alguna idea?

Página de inicio del validador que estoy usando: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

Se están creando nuevos elementos a través de http://ejohn.org/blog/javascript-micro-templating/

Básicamente, hay una llamada de ajax y el servidor devuelve un montón de json (ajaj?), Este json se alimenta a través del motor de plantillas de resig. Una plantilla de ejemplo se ve así:

  <input type="hidden" value="" id="Edit.ID" name="Edit.ID" /> <input type="text" value="" id="Edit.Price" name="Edit.Price" />   

Los valores se rellenan obviamente a través del json que se pasa.

También debo mencionar que estoy usando el marco de validación xval, que básicamente genera automáticamente las reglas de validación jquery para mí: http://blog.codeville.net/2009/01/10/xval-a-validation-framework-for- aspnet-mvc /

Está bien, prueba dos. ¿Qué es agregar dinámicamente tus elementos? ¿No puedes simplemente colocar las Reglas (“agregar”,) al mismo código?

Oye, no estoy seguro de si esto es un truco sin cortes, pero funcionó para mí. Antes de esto, estaba haciendo un each () en el selector y encontré el mismo problema que tienes con los elementos Ajaxed recién creados.

El evento Mouseover en vivo parece haber hecho el truco, dado que no estás loco con tu css:

 // >>> MSG/Comment form validator, now and forever... $('form.streamForms').live('mouseover', function(){ $(this).validate({ rules: { text: "required" }, messages: { text: " " } }); }); 

¡Espero eso ayude!

Querrás ver los nuevos eventos en vivo de jQuery 1.3

Aquí es cómo manejé esto. Primero creé mi objeto de validación.


     var myvalidations = {};
     myvalidation.registerform = function () {$ ("# registerform"). validate ({
             submitHandler: function (form) {
                 $ (formulario) .ajaxSubmit (opciones personales); 
                 // submitReg ();
             }
                     reglas: {
                 nombre de stack: {
                      requerido: verdadero,
                      longitud mínima: 5,
                      maxlenght: 22
                 }
                     mensajes: {
                              nombre de stack: {
                                  requerido: "Dinos como llamarte por".
                      minlength: "Su nombre de usuario debe constar de al menos 5 caracteres"
                              }
                      }
              });
         }

Ahora, siempre que crees tu formulario, asegúrate de que tenga un ID o algo así como referencia y simplemente llama a tu función justo después de crearlo.


     // crear mi contenido
     $ ('. content'). html ('- fields etc--');
     // agregar validación
     myvalidation.registerform ();

Cualquier otra sugerencia de bienvenida; Pero creo que básicamente este es el enfoque correcto.