近期做项目。须要用到 jQuery.validate.js插件,于是记录一下工作中的一些经验,以便日后学习。

【样例例如以下】

1.前台页面

 <form id="form1" method="post">
username:<input type="text" id="UserName" name="UserName" /><!--<span id="name_error"></span>-->
<br />
密  码:<input type="password" id="Password" name="Password" />
<br />
<input type="submit" id="btnRegister" name="btnRegister" value="注冊" />
<input type="button" id="btnCancel" name="btnCancel" value="取消" />
</form>

2.Javascript

    <script type="text/javascript">
//加入自己定义验证
jQuery.validator.addMethod("checkPWD", function (value, element) {
var flag = false;
//flag = chkpwd($("#pwd")); //自己定义验证password逻辑
return this.optional(element) || flag;
});
$(function () {
$("#form1").validate({
rules: {
UserName: {
required: true,
//emote: function () { //验证username是否存在是否存在 方法一
// $.ajax({
// type: 'POST',
// url: "Handler/Handler1.ashx",
// data: { name: $("#UserName").val() },
// async: false,
// success: function (data) {
// $("#name_error").html(data);
// }
// });
//}
remote: { //验证username是否存在是否存在 方法二
type: "POST",
url: "Handler/Handler1.ashx", //后台处理程序
dataType: "json", //接受数据格式
data: { //要传递的參数
action: function () { return "CheckName" },
name: function () { return $("#UserName").val(); },
param1: function () { return "自己定义參数1"; }
}
}
},
Password: {
required: true,
checkPWD: true //自己定义验证。若想不用自己定义验证,把 true 改成 false 就可以。 }
},
messages: {
"UserName": {
required: "<span>username不能为空.</span>",
remote: "<span>该会员名已存在! </span>"
},
"Password": {
required: "<span>password不能为空.</span>",
checkPWD: "<span>password不符合自己定义规则。 。。</span>"
}
}
});
})
</script>

3.后台处理程序

        public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string action = context.Request["action"];
//获取username和自己定义參数
string name = context.Request["name"];
string param1 = context.Request["param1"];
if (!string.IsNullOrEmpty(name))
{
//模拟查询数据库,假设用户输入的是 admin 。则提示该账户已存在。返回 false
if (name.Equals("admin"))
{
context.Response.Write("false");
}
else
{
context.Response.Write("true");
}
}
}

4.执行结果

4.1 用户未输入数据时报错:


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbnlibG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" align="left" width="401" height="101">

4.2 用户输入错误信息时报错:

jquery.validate.js插件的使用方法-LMLPHP

04-26 08:00