我正在尝试使用jquery.validate.js
验证我的html文件。我需要验证mobileno
字段的长度,它应该是10个字符。这是我的代码:
<!-- mobile number goes here. -->
<div class="form-group">
<label for="mobileno" class="col-sm-2 control-label">Mobile No.</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="mobileno" name="mobileno" placeholder="Mobile No (10 digits)" required autofocus>
</div>
<span id="mobileno_error"></span>
</div>
对应的js文件是:
$("#register_form").validate({
// Specify the validation rules
rules: {
name: "required",
email: {
required: true,
email: true
},
mobileno: {
required: true,
exactlength: 10
},
password: {
required: true,
minlength: 6
},
confirm_password:{
required: true,
equalTo: '#password'
}
},
// Specify the validation error messages
messages: {
name:"Please enter your name.",
email: {
required: 'Email address is required',
email: 'Please enter a valid email address',
},
mobileno: {
required: 'Mobile number is required',
exactlength: 'The mobile number should be of 10 characters.',
},
password: {
required: 'Password is required',
minlength: 'The password should be of minimum 6 characters.',
},
confirm_password: {
required: 'Confirm password is required',
equalTo: 'The confirm password should match password.',
}
},
在离开mobileno
字段时,我遇到了以下问题:
jquery.validate.js:4未捕获类型错误:无法读取属性"call"的未定义。检查元素mobileno时发生异常,检查"exactlength"方法。
我不知道我做错了什么。
"我不知道我做错了什么?">
错误是准确地告诉你你做错了什么。。。
无法读取未定义的属性"call"。。。检查"精确长度">方法。
没有名为exactlength
的jQuery Validate规则。不能只通过在rules
对象中写入单词来制定新规则。
要强制字段的长度恰好为X个字符,您需要同时使用minlength
和maxlength
规则,并将它们都设置为X.
mobileno: {
required: true,
minlength: 10,
maxlength: 10
},
演示:http://jsfiddle.net/jmhjwf70/
否则,additional-methods.js
文件中有一个phoneUS
规则,可用于验证任何美国电话号码。有关其他电话号码规则,请参阅mobileUK
、phoneUK
、phonesUK
和phoneNL
。
如果这不令人满意,那么您可以使用.addMethod()
方法编写自己的规则。
rangelength: [10, 10]
这是字段长度恰好为X个字符的函数。你必须添加额外的方法.js,否则它不支持