Javascript 改进我的jquery验证插件代码
只是希望soemone能帮助我写出比我自己能写出的更好的代码 我正在使用jquery验证插件。我有一些字段只有在选择了某些选项时才是必需的 下面的代码工作正常。但问题是,我列出的“或”比我在这里列出的要长得多。它不仅需要应用于“董事姓名”,还需要应用于一长串输入、选择等 我的问题是。。如何包装返回中包含的代码? (所以我不必重复我的'OR's。我想我需要一个函数,但我不确定语法)Javascript 改进我的jquery验证插件代码,javascript,jquery,Javascript,Jquery,只是希望soemone能帮助我写出比我自己能写出的更好的代码 我正在使用jquery验证插件。我有一些字段只有在选择了某些选项时才是必需的 下面的代码工作正常。但问题是,我列出的“或”比我在这里列出的要长得多。它不仅需要应用于“董事姓名”,还需要应用于一长串输入、选择等 我的问题是。。如何包装返回中包含的代码? (所以我不必重复我的'OR's。我想我需要一个函数,但我不确定语法) 提前感谢这里有一个自定义验证器的代码片段。您可以将相同的语法应用于您自己的自定义验证需求 list = ['1',
提前感谢这里有一个自定义验证器的代码片段。您可以将相同的语法应用于您自己的自定义验证需求
list = ['1', '2', '3', '...'];
return $('#account_for').val() == "Joint" || list.indexOf($('#directors_number').val()) != -1;
$.validator.addMethod("noanon", function(value) {
return value.toLowerCase().indexOf("anonymous") != 0;
}, 'Do not hide behind the cover of anonymity')
然后,您可以像使用任何内置验证规则一样使用它,如:
name: {
required: true,
minlength: 2,
noanon: true
},
如果您还没有阅读,我建议您阅读由三部分组成的博客,该代码来自于。您可以这样做,跨浏览器支持使用:
请注意,IE不支持
Array.prototype.indexOf
方法,但是可以包括该方法的一部分来支持它。
name: {
required: true,
minlength: 2,
noanon: true
},
$("#myForm").validate({
rules: {
directorsName : {
required: function(element) {
return $('#account_for').val() == "Joint" ||
$.inArray($('#directors_number').val(), ['2','3']);
}
}
}
});