大佬教程收集整理的这篇文章主要介绍了jQuery Validator – 如何验证非表单项?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<tr action="whatever">...</tr>
我试图做的是添加一个自定义的addMethod,它调用一个函数,该函数将行数作为属性计算:
$("#tablEID").find("tr[action]").length
如果该长度大于0,则返回true,否则返回false.
这在验证器调用之外工作正常,但由于某种原因它完全跳过它.
我可以使用一个示例或一些洞察如何使它验证此规则,即使它不是一个特定的表单元素.
*请注意,我已经为消息设置了默认设置,而不是.
$.validator.addMethod("validProductList",function (value,element) { return this.optional(element) || validateProductList(); },"You have no products in your list"); $("#processForm").click(function () { $("#pageForm").validate({ submitHandler: function () { $("#errors").hide(); //processPage(); },rules: { //other rules,validProductList: true } }); }); function validateProductList() { var isValid = false; var useList = $("#tblAddedProducts").find("tr[action]").length; if (useList > 0) { isValid = true; } return isValid; }
>添加< input type ='hidden'/>到您的表单,您根据列表的状态更新.换句话说,每次添加或删除列表项时,请设置该输入的值.这有一个明显的缺点;您的验证代码现在分散在两个操作中(添加和删除列表项).但是,我想你已经有了处理添加/删除的代码,你可以添加一个重新评估上述输入状态的常用方法.
>输入所需的输入并正常使用.validate().
这是一个非常粗略的工作示例:http://jsfiddle.net/dT6Yd/
如果使用像knockoutjs这样的框架,可以使item(1)更容易一些.您可以告诉该框架“观察”您的列表并自动更新输入而无需跟踪它.
不是处理这个问题的最干净的方法,但我之前已经看到它以这种方式完成,它似乎工作得很好.
以上是大佬教程为你收集整理的jQuery Validator – 如何验证非表单项?全部内容,希望文章能够帮你解决jQuery Validator – 如何验证非表单项?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。