我正在使用jQuery Validation Plugin 1.8.1进行表单验证,我的问题是它无法正常工作
在这个HTML代码中
<input name="Mobile" type="text" class="Input" id="Mobile" placeholder="Type your mobile number" value="<?php echo $activeUser->getMobile();?>" required="true" number="true" />
required="true"
工作正常,但number="true"
无法正常工作
请帮我解决这个问题 感谢
答案 0 :(得分:0)
将additional-methods.js
添加到您的网页中。你应该有mobileUK
验证方法或。尝试使用:
<input name="Mobile" type="text" class="Input" id="Mobile" placeholder="Type your mobile number" value="<?php echo $activeUser->getMobile();?>" required="true" mobileUK="true" />
编辑
如果html版本不起作用,请尝试使用JS设置:
$("#myform").validate({
rules: {
field: {
required: true,
mobileUK: true
}
}
});
您可以创建自己的验证类型。示例:http://docs.jquery.com/Plugins/Validation/CustomMethods/phoneUS
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");
$("#myform").validate({
rules: {
field: {
required: true,
phoneUS: true
}
}
});
答案 1 :(得分:0)
您的HTML代码是HTML 5验证的一个因素...
<input name="Mobile" type="text" class="Input" id="Mobile"
placeholder="Type your mobile number" value="" required="true" number="true" />
对于jQuery Validate插件的更新版本(如1.11.0),这不会有问题。
工作演示:http://jsfiddle.net/5rPGv/2/
但是,使用版本1.8.0的jQuery Validate插件时,相同的代码会被破坏。
破碎:http://jsfiddle.net/5rPGv/1/
要修复代码,您只有两个选项:
1)将jQuery Validate插件更新为更高版本。
OR
2)使用任何版本在.validate()
内声明您的规则。 http://jsfiddle.net/5rPGv/3/
$(document).ready(function () {
$('#myform').validate({
rules: {
Mobile: {
required: true,
number: true
}
}
});
});