jQuery 规则添加掩码

jQuery rules add mask

美好的一天,

我支持其他团队开发的项目。

我看到了一些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

任何人都知道代码试图做什么?

该代码似乎使用了 jQuery Validate plugin to create a validation rule 值是必需的,并且必须仅由字母、数字或空格组成。

验证规则应用于 any input, textarea, select, or button element,其中 name 属性 的值为 country。我怀疑问题是您的文档中没有这些字段之一。

.rules() 方法是 jQuery 验证插件的一部分,与属于另一个插件的 .mask() 方法完全无关。此代码试图将表单验证规则动态添加到具有 name="country".

input 元素
$(':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 的规则,而此插件中没有 "mask" 规则。

您唯一的选择是:

  1. 删除对这个不存在的规则的所有引用,或者
  2. 使用 the .addMethod() method
  3. 创建名为 mask 的自定义规则