2010-03-19 82 views

回答

36

只需添加自定义验证,并使用它像这样:

jQuery.validator.addMethod("accept", function(value, element, param) { 
    return value.match(new RegExp("." + param + "$")); 
}); 

只有编号:

rules: { 
    field: { accept: "[0-9]+" } 
} 

只有字母

rules: { 
    field: { accept: "[a-zA-Z]+" } 
} 
+0

accept是验证文件扩展名的本机方法。 http://docs.jquery.com/Plugins/Validation/Methods/accept#extension –

+2

不应该'''是'^'? –

+0

顺便说一句,创建一个新规则是不必要的,因为插件已经有一个名为'lettersonly'的规则作为['additional-methods.js'文件]的一部分(https://cdnjs.cloudflare.com/ajax/libs /jquery-validate/1.15.0/additional-methods.js)。 – Sparky

18

的微小变化。

jQuery.validator.addMethod("accept", function(value, element, param) { 
    return value.match(new RegExp("^" + param + "$")); 
}); 

因为这样它接受像“#abc”这样的表达式。

0

尝试这样的:在您的脚本代码如下

 var numbers = /[0-9]+/; 
     var SpCharacters = /^\s*[a-zA-Z0-9\s]+\s*$/; 

     if (!numbers.test(name) && !SpCharacters.test(name)) { 
      return [false, "Name should be alphabetical.", ""]; 
     } 
4

使用。 这会为验证程序添加一个新的子句。

$.validator.addMethod(
     "alphabetsOnly", 
     function(value, element, regexp) { 
      var re = new RegExp(regexp); 
      return this.optional(element) || re.test(value); 
     }, 
     "Please check your input values again!!!." 
); 
$("#formElement").rules("add", {alphabetsOnly: "^[a-zA-Z'.\\s]$" }) 
0

下面的方法来添加自定义验证工作正常,但确认发生在KEYUP,所以错误不断弹出当用户键入的文本。

return value.match(new RegExp("")); 

下面的方法工作正常字母和空间,非常适合名称字段。

jQuery.validator.addMethod("alphabetsAndSpacesOnly", function (value, element) { 
    return this.optional(element) || /^[a-zA-Z\s]+$/.test(value); }); 

    $("FieldId").rules("add", { 
     alphabetsAndSpacesOnly: true, 
     messages: { alphabetsAndSpacesOnly: "Please enter a valid name." } 
    }); 
0

的jQuery验证插件已经呼吁lettersonlythe additional-methods.js file一部分的规则,它看起来像这样...

$.validator.addMethod("lettersonly", function(value, element) { 
    return this.optional(element) || /^[a-z]+$/i.test(value); 
}, "Letters only please"); 
0

添加CDN

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/additional-methods.js"></script> 
rules:{ 
    txtname:{required: true, 
      lettersonly:true 
      } 
0

尝试这:(这是完美的自定义验证使用jQuery验证程序

$(function() { 

    $.validator.addMethod("alphabetsnspace", function(value, element) { 
     return this.optional(element) || /^[a-zA-Z ]*$/.test(value); 
    }); 

    $("#add-employee").validate({ 
     rules: { 
      employee_surname: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      employee_firstname: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      employee_othername: { 
       alphabetsnspace: true 
      }, 
      father_name: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      mother_name: { 
       required: true, 
       alphabetsnspace: true 
      }, 
      spouse_name: { 
       alphabetsnspace: true 
      }, 
      ssn: { 
       number: true, 
      }, 
      phone_no: { 
       number: true, 
      }, 
      phone_no2: { 
       number: true, 
      }, 
      passport: { 
       number: true, 
      }, 
      driving_license: { 
       number: true, 
      }, 
      email: { 
       email: true 
      } 
     }, 
     messages: 
      { 
       "employee_surname":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "employee_firstname":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "employee_othername":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "father_name":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "mother_name":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
       "spouse_name":{ 
        alphabetsnspace: "Please Enter Only Letters" 
       }, 
      } 
    }); 
});