Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 客户端验证在dom操纵的元素上不起作用?_Jquery_Jquery Validate_Unobtrusive Validation - Fatal编程技术网

Jquery 客户端验证在dom操纵的元素上不起作用?

Jquery 客户端验证在dom操纵的元素上不起作用?,jquery,jquery-validate,unobtrusive-validation,Jquery,Jquery Validate,Unobtrusive Validation,我有一个简单的表单,其中有一个select元素和一个input元素。根据select元素中的值,我可能需要验证输入元素,也可能不需要验证输入元素 我所做的是,根据在select元素中选择的内容,将输入元素上的“data val”属性设置为“true”或“false”。这部分工作正常-我可以检查firebug中属性的值,它会根据计划进行更改 现在,为了让jquery不引人注目地验证注意到dom中的更改,我调用 $.validator.unobtrusive.parse(document) 我试图

我有一个简单的表单,其中有一个select元素和一个input元素。根据select元素中的值,我可能需要验证输入元素,也可能不需要验证输入元素

我所做的是,根据在select元素中选择的内容,将输入元素上的“data val”属性设置为“true”或“false”。这部分工作正常-我可以检查firebug中属性的值,它会根据计划进行更改

现在,为了让jquery不引人注目地验证注意到dom中的更改,我调用

$.validator.unobtrusive.parse(document)
我试图传递表单或元素,所以我猜传递文档实际上只是我最近的一次尝试。我尝试传递表单的jquery对象以及dom表单元素。我还尝试只验证输入元素调用

$.validator.unobtrusive.parseElement(myElement)
我再次尝试使用jquery对象和“nekid dom元素”


我在这里遗漏了什么?

是的,parse元素不能动态工作。试试这个——它对我和其他一些人都有效

类似的问题(我在前面的搜索中没有找到)


有人建议从表单中删除validator对象,因此调用parse将再次解析整个表单。

令人讨厌的消息。您的扩展似乎只处理新元素,而不是修改的元素?此外,当对不引人注目的库进行更改时,可能需要对扩展进行修改。是否可以删除/清除表单或单个元素上的验证,然后重新运行验证(最小化扩展逻辑?)一旦设置了表单的验证程序,解析文档将不会运行。当然,您可以清除任何喜欢的内容并重新开始,但是您可以想象,对于一个大型动态表单,它可能是一个不太优雅的解决方案。显然,扩展与库的耦合方式与非结构化librayr与jquery.validate的耦合方式相同。我的扩展不会删除规则-api已经启用了此功能,但它肯定适用于尚未验证的现有元素-没有“新”元素的概念。好的-如果我对输入元素有规则,然后由于select元素中的更改而希望删除/禁用它。您的扩展脚本是否适用于此?