validate是一个jquery的插件的表单验证工具
详细了解点击这里
这里我详细给大家讲解一下他的常规用法
首先我们要有一个普通的表单
<form id="test" action="{{rootUrl}}insert_user" method="POST">
<div>
<div>用户名:<input type="text" name="username" id="username" /> </div>
<div class="error"></div>
</div>
<div>
<div>密码:<input type="password" name="password" id="password" /> </div>
<div class="error"></div>
</div>
<div>
<div>重复密码<input type="password" name="re_password" id="re_username" /> </div>
<div class="error"></div>
</div>
<input class="submit" type="submit" value="Submit"/>
</form> 接着我来展示我们如何使用他
$("#test").validate({
rules: {//rules 主要表示每个input需要满足那些规则,每个input可以同时满足几个规则 可选
username: {
required: true,
email: true
},
password: {
required: true
},
re_password: {
required: true
},
equalTo: '#password'
},
messages: {//messages与rules相对应,如果你需要对某些错误提示定制,可以在这里设置 可选
username: {
required: "用户名不能为空",
email: "格式不正确"
},
password: {
required: "密码不能为空"
},
re_password: {
required: "重复密码不能为空"
}
},
errorPlacement: function(err, el) { //errorPalacement表示错误提示出现的位置,如果不设置错误会在出错误的input之后append一个label 可选
par = el.parent().parent().find(".error");
par.empty();
err.appendTo(par);
},
errorElement: "span", //用来规定错误以什么标签显示,默认为lable 可选
submitHandler: function(form) { //用来提交表单 ,及处理返回结果。 必选
alert('我是在表单提交之前显示出来的');
$(form).ajaxSubmit({
success: function(responseText, statusText) {
var data = eval("(" + responseText + ")");
if (data.res === true) {
alert('注册成功');
} else {
alert('注册失败');
}
}
});
}
});
上面就是一个validate的常规写法,下面我详细介绍一些细节
首先我介绍几种常用的rules
requre
required: true
表示为必填
email: true
格式必须为邮箱
remote
remote: "{{rootUrl}}user/check_mail" remote标签会在我们输入完成之后把这个input的value当作唯一参数以get方式发给我们设定的请求,如果返回的结果不为true就会把返回结果当作错误显示出来.我们经常用来检测输入指的唯唯一性,下面是示例代码(以php为例)
$email = $_GET("email");
$res = True;
$result = UserUtil::check_passname($email); //此函数用来检测传入的值在数据库中是否存在,存在返回false否则返回true
if ($result == false) {
$res = "邮箱已存在,请重新填写";
}
echo json_encode($res);
equalTo
equalTo: '#password'
必须和id为password的Input值相等,常用于重复密码
number
number:true 必须为数字
min
min:0
最小值,与number配合
max
max:10
最大值,与number配合
ulr
url: true 合法的url地址
下面我们编写一个规定字符串长度的规则
function isChinese(str) { //判断格式否为中文
var lst = /[u00-uFF]/;
return !lst.test(str);
}
function strlen(str) {
var strlength = 0;
for (i = 0; i < str.length; i++) {
if (isChinese(str.charAt(i)) == true) //如果是中文算两个字符串长度
strlength = strlength + 2;
else
strlength = strlength + 1;
}
return strlength;
}
size = function(value, element) { //定义一个规则,传入要检测的值value,结果返回true或者false
if (strlen(value) >= 2 && strlen(value) <= 16) {
return true;
}
}
$.validator.addMethod("size", size, "长度必须在2-16字符之间"); //将规则绑定到关键字上,并绑定提示
这样我们就可以使用规则为size的验证了
下面我在列出一些常用的规则
正整数
positiveinteger = function(value, element) {
var aint = parseInt(value);
return aint > 0 && (aint + "") == value;
}
数字字母,支持中文
format = function(value, element) {
//var reg = /^\D.*$/;
var reg = /^\D[\u4E00-\u9FA5|\u3041-\u30FE|\uFF00-\uFFFF|\w-\/.]*$/
return reg.exec(value);
}
禁止特殊符号
function isspecial(str) {
var lst = /.*[!@#$^&*()=|{}':;',\[\].<>].*/;
return !lst.test(str);
}
本文介绍了jQuery的validate插件,这是一个强大的表单验证工具。文章详细讲解了其常规用法,包括require(必填)、email(邮箱格式)、remote、equalTo(两者相等)、number、min、max和url等rules的使用,帮助读者掌握表单验证的细节。

2万+

被折叠的 条评论
为什么被折叠?



