jQuery 验证器插件 : validate optional field

标签 jquery jquery-plugins validation jquery-validate

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

自定义验证器:

   $.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" />

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

最佳答案

您可以像这样调用.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例如。

关于jQuery 验证器插件 : validate optional field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3526236/

相关文章:

javascript - 如何将 JSLint 用于一段依赖于 JQuery 的代码?

python - 使用 django 表单验证来检查元素库存

javascript - 单击时使用 javascript 增加按钮文本?

javascript - Onclick Only 似乎只工作一次

javascript - 无法使用自定义 jQuery 表单下拉验证选择 GetElementByName 的值

asp.net - 如何在 ASP.Net 中设置 Page.IsValid

jquery - 通过数组表单验证检查字段

javascript - 如何将 2 个 OpenLayer 标记动画添加到页面? Clickevent似乎被覆盖了

javascript - 如何从 .jsx 脚本中调用 ReactJS 元素上的 jQuery 函数?

php - sql从单个表单输入中查询多个字段