jqueryvalidation尚未创建的元素

我想知道是否有可能让jQuery Validator插件validation在最初设置规则时dom中尚不存在的元素。

调用.Rules(“add”,therules)方法只会将规则附加到当前存在于dom中的元素。 如果我要创造一些。 validation不会触发。 有什么想法吗?

我正在使用的validation器的主页: http : //bassistance.de/jquery-plugins/jquery-plugin-validation/

通过http://ejohn.org/blog/javascript-micro-templating/创建新元素

基本上有一个ajax调用,服务器返回一堆json(ajaj?),这个json通过resig的模板引擎输入。 示例模板如下所示:

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

这些值显然是通过传入的json填充的。

我还应该提一下,我正在使用xvalvalidation框架,它基本上为我自动生成jqueryvalidation规则: http : //blog.codeville.net/2009/01/10/xval-a-validation-framework-for- ASPNET-MVC /

好的,试试两个。 什么是动态添加元素? 你不能把.Rules(“add”,)放在同一个代码上吗?

嘿,不确定这是不是一个不礼貌的黑客,但它对我有用。 在此之前,我在选择器上执行each()并遇到与新创建的Ajaxed元素相同的问题。

Liveover上的Mouseover事件似乎已经完成了这个伎俩,因为你的css不会疯狂:

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

希望能帮助到你!

您将需要查看jQuery 1.3的新Live Events

这是我如何处理这个。 首先,我创建了validation对象。


     var myvalidations = {};
     myvalidation.registerform = function(){$(“#registerform”)。validate({
             submitHandler:function(form){
                 $(forms).ajaxSubmit(optionspersonal); 
                 // submitReg();
             },
                    规则:{
                名字: {
                     要求:是的,
                     最小长度:5,
                      maxlenght:22
                 },
                    消息:{
                             名字: {
                                 要求:“告诉我们你叫什么。”,
                      minlength:“您的用户名必须至少包含5个字符”
                              }
                      }
              });
         }

现在,无论何时创建表单,请确保其上有ID或稍微引用它,并在创建后立即调用您的函数。


     //创建我的内容
     $('。content')。html(' -  fields etc--');
     //添加validation
     myvalidation.registerform();

欢迎任何进一步的建议 但我认为基本上这是正确的方法。