我正在尝试使用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未捕获的TypeError:无法读取属性'call' 未定义的。检查元素mobileno时发生异常, 检查'exactlength'方法。
我不知道我做错了什么。
答案 0 :(得分:1)
&#34;我不知道自己做错了什么?&#34;
错误正在告诉你你做错了什么......
无法阅读财产&#39;来电&#39; undefined ...检查&#39; exactlength&#39; 方法。
<强> There is no such jQuery Validate rule called exactlength
即可。您不能仅通过在rules
对象中写下单词来制定新规则。
要强制字段的长度恰好为X个字符,您可以同时使用minlength
和maxlength
规则并将它们都设置为X.
mobileno: {
required: true,
minlength: 10,
maxlength: 10
},
DEMO:http://jsfiddle.net/jmhjwf70/
否则,the additional-methods.js
file中有一个phoneUS
规则可用于验证任何美国电话号码。另请参阅mobileUK
,phoneUK
,phonesUK
和phoneNL
了解其他电话号码规则。
如果情况不理想,那么您可以使用the .addMethod()
method编写自己的规则。
答案 1 :(得分:0)
rangelength: [10, 10]
此功能用于字段的长度正好为X个字符。您必须添加additional-method.js,否则不支持