jquery验证 - 可选字段

jag*_*han 0 jquery

在注册表单中,middleName字段是可选的.当用户输入他/她的middleName时,它应该验证该字段.

我使用以下代码来实现上述方案,但它无法正常工作.

$("#middleName").rules("add", {checkName: true, required: false, messages: {checkName: "Please enter a valid middle name"} });

jQuery.validator.addMethod("checkName",
        function(value, element) {
            var regExp = new RegExp(/^[a-zA-Z0-9\s|\,|\.|\-|\']+$/);
            return regExp.test(value);
        },
        "Please enter a valid name."
);
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我实现上述方案.

Nic*_*ver 6

在自定义方法中,您需要添加可选子句,如下所示:

jQuery.validator.addMethod("checkName", function(value, element) {
  var regExp = new RegExp(/^[a-zA-Z0-9\s|\,|\.|\-|\']+$/);
  return this.optional(element) || regExp.test(value);
}, "Please enter a valid name.");
Run Code Online (Sandbox Code Playgroud)

你可以在验证库的附加方法文件中看到这样的例子作为参考,基本上这只会增加一个理智/"我甚至需要吗?" 检查结果.