【问题标题】:jQuery validator plug-in: validate optional fieldjQuery 验证插件:验证可选字段
【发布时间】:2011-04-01 08:56:51
【问题描述】:

问题 我想使用我创建的自定义验证器来验证字段,该验证器本质上是电话号码的正则表达式,仅当字段具有值时,否则不需要验证,因为它是可选的。

自定义验证器:

   $.validator.addMethod('phone', function (value) {
       return /^[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}$/.test(value);
   }, 'Please enter a valid US phone number.');

规则:

 phone: {
  required: true,
  phone: true
 },
 fax: {
  phone: true
 }

我什至尝试过:

 phone: {
  required: true,
  phone: true
 },
 fax: {
  required: function(element){
   if (!$("#cf-fax").val()) { return true; } else { return false; }
  }
  phone: true
 }

作为参考,这是我要参考的字段:

<input type="text" name="fax" class="optional" size="15" maxlength="14" id="cf-fax" />

感谢任何帮助,因为我只是迷路了。 =\

【问题讨论】:

    标签: jquery jquery-plugins validation jquery-validate


    【解决方案1】:

    你可以像这样调用.optional()(在验证插件中定义)

    $.validator.addMethod('phone', function (value, element) {
       return this.optional(element) || /^[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}$/.test(value);
    }, 'Please enter a valid US phone number.');
    

    这是验证插件的标准方案,例如take a look at their additional methods here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      相关资源
      最近更新 更多