美好的一天,
我支持由其他团队开发的项目。
我看到一些jQuery代码,我不太明白代码在做什么,我打算修改它,但起初我需要知道它想要做什么。
以下是代码:
$(function(){
$(':input[name=country]').rules('add', {
required: true,
mask: /^[a-zA-Z0-9 ]+$/
});
});
我怀疑它是掩码方法,例如:
$(':input[name=country]').mask("0000-0000"); // this is work
但是我尝试运行但它失败了,遇到了错误:
Cannot read property 'call' of jquery.validate.min.js:16 undefined
答案 0 :(得分:1)
.rules()
方法是jQuery Validate插件的一部分,与.mask()
方法完全无关,该方法是另一个插件的一部分。此代码尝试使用input
将表单验证规则动态添加到name="country"
元素。
$(':input[name=country]').rules('add', {
required: true,
mask: /^[a-zA-Z0-9 ]+$/. // <- there is no such rule called 'mask': REMOVE THIS LINE
});
错误是因为jQuery Validate正在寻找一个名为mask
的规则,其中没有&#34;掩码&#34;这个插件中的规则。
您唯一的选择是:
.addMethod()
method mask
的自定义规则
醇>
答案 1 :(得分:-1)
该代码似乎使用jQuery Validate plugin来创建validation rule,该值是必需的,且必须仅包含字母,数字或空格。
验证规则适用于any input, textarea, select, or button element,其name
属性的值为country
。我怀疑问题是你的文档中没有这些字段之一。