jQuery验证输入类型的setDefaults

时间:2015-02-18 16:52:02

标签: jquery jquery-validate

我正在使用jQuery Validation库在提交之前验证我网站上的表单。我想为我的所有表单使用一个validate()函数,只需添加required属性即可形成输入。但我遇到了麻烦。

我想使用additional-methods.js库中的验证方法来验证电话号码和其他特殊输入。在我的validate()函数中,我只想添加以下内容。

$('form').validate({
    rules: {
        user_phone: {
           phoneUS: true,
        },
    },
});

但这仅适用于name='user_phone'的输入。我有多个手机输入的表格。有没有办法在phoneUS的所有输入上使用type='tel'验证方法?

提前感谢任何对此提供任何见解的人。

修改

我正在寻找类似的东西......

$.validator.setDefaults({ 
   rules: {
      'type=tel': {
         phoneUS: true,
      },
   },    
});

1 个答案:

答案 0 :(得分:1)

不,您不能在.validate().setDefaults()内通过一次name以外的任何其他方式声明规则。

  

有没有办法在phoneUS的所有输入上使用type='tel'验证方法?

是的,使用the .rules('add') method,您可以使用任何jQuery选择器并一次定位多个输入元素。

$('input[type="tel"]').each(function() {
    $(this).rules('add', {
        phoneUS: true,
        // other rules
    });
});
  • 必须在每个输入元素上仍然有唯一的name

  • 当选择器包含多个元素时,您必须使用jQuery .each()

  • 您仍然必须使用.validate()方法初始化表单上的插件。

DEMO:http://jsfiddle.net/fqss7uy3/