jQuery Validate验证框架自定义验证
第一步导入导入js库
<script src="<%=basePath%>static/js/jquery.js" type="text/javascript"></script>
<script src="<%=basePath%>static/js/jquery.validate.js" type="text/javascript"></script>
// 中文字两个字节
jQuery.validator.addMethod(
"byteRangeLength",
function(value, element, param) {
var length = value.length;
for(var i = 0; i < value.length; i++){
if(value.charCodeAt(i) > 127){
length++;
}
}
return this.optional(element) || (length >= param[0] && length <= param[1]);
},
$.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)")
); // 邮政编码验证
jQuery.validator.addMethod("isZipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, "请正确填写您的邮政编码"); submit 表单提交
$(function(){
$("#signupForm").validate({
submitHandler:function(form){
alert("submit!");
form.submit();
}
});
});
ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先引入这个插件。如下所示:
<script src="<%=basePath%>static/js/jquery.form.js" type="text/javascript"></script>
$("#adduser").validate({
submitHandler: function (form) {
$(form).ajaxSubmit({
type: "post",
url: "<%=basePath%>iforget.do",
success: function (data) {
if (data == 1) {
alert("发送成功");
location.href="<%=basePath%>/login";
}
if (data == 2) {
alert("参数错误");
this.reset;
}
if (data == 3) {
alert("账户或者邮箱不存在");
this.reset;
}
}
});
},
//验证规则 此处为jquery validate 表单提交的时候对数据的验证
rules: {
//required 表示该组件的输入值不能为空
userAccount: {
required: true,
isuserCode: true,
rangelength: [ 3, 16 ]
/*remote: "/system/queryUserCode.do"*/
},
email: {
required: true,
email: true,
isEmail: true
}
},
// 显示验证出错提示信息 此处为显示验证的出错信息
messages: {
userAccount: {
required: "您的用户名不能为空",
rangelength: "用户名的长度在3--16个字符之间"
/*remote: "用户名已存在"*/
},
email: {
required: "请输入邮箱 ",
email: "邮箱格式不正确",
isEmail: "邮箱格式不正确"
}
}
});
});