【问题标题】:optional validation but requires on input [duplicate]可选验证,但需要输入 [重复]
【发布时间】:2014-03-08 22:55:07
【问题描述】:

我知道以前可能有人问过这个问题,但我仍然找不到我需要的解决方案。 我需要将电话号码字段设为可选(我知道我可以省略 Required 关键字),但如果用户确实输入了数据,我仍然需要 jQuery 在客户端工作。我尝试了各种排列,最后一次尝试是这样的:

    $("#telephone").rules("add", {
            required: false,
            pattern: "^\+?\d{10,14}|$"

        });

我可能离题了,但如果有人能抽出时间为我指明正确的方向,那将恢复我对人性的信心;)

【问题讨论】:

标签: jquery validation


【解决方案1】:

请使用 Jquery 验证插件。 您可以在以下位置找到类似的问题: How to use jQuery Validator custom method on optional field with defaultValue?

Running Example

版权所有 Andrew Whitaker 为小提琴。

$.validator.addMethod('phone', function (value, element) {
if (value != element.defaultValue) {  
    return this.optional(element) || /^[01]?[- .]?\(?[2-9]\d{2}\)?[- .]?\d{3}[- .]?\d{4}$/.test(value);
} 
return true;
}, 'This is not a valid number');

$("#myForm").validate();

【讨论】:

  • 感谢您的回复,但这并没有解决我的问题。我是一名初级开发人员,试图追踪一个已经存在的应用程序中的验证错误。我现在发现我需要一个特定的正则表达式,它允许一个空字段或验证该字段是否为空。我用这个正则表达式 ^$|^\+?\d{10,14}$ 解决了它,其中正则表达式允许空 ^$ 或验证 |^\+?\d{10,14}$ 一个介于 10 到 14 个数字之间的数字.感谢您的意见
  • @gettingThereSlowly 不欢迎你。
猜你喜欢
  • 2019-06-19
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
相关资源
最近更新 更多