您的位置:首页 > Web前端 > JQuery

jquery validate 自定义验证方法(前后台交互)

2014-12-30 19:21 447 查看
JS:

var dataCode = {
key: "IsHasAUserName",
AUserName: function() {

return $("#AUserName").val();
}
};
var remoteHasAUserNameFun= GetRemoteInfo('/Service/CommanHandler.ashx', dataCode);

$("#form1").validate({
rules: {
txtUserName: {
required: true,
remote: remoteHasAUserNameFun
},
txtPass: {
required: true,
minlength: 6
},
txtConfirmPass: {
required: true,
equalTo: "#txtPass"
},
txtName: {
required: true
}
},
messages: {
txtUserName: {
required: "请输入账号"
},
txtPass: {
required: "请输入新密码",
minlength: "密码最少不得少于6位字符"
},
txtConfirmPass: {
required: "请输入确认密码",
equalTo: "密码不一致。"
},
txtName: {
required: "请输入姓名"
}
},
errorLabelContainer: $(".bg-info")
});


C#:

private XmlDocument IsHasAUserName()
{
string AUserName = contextWai.Request.Form["AUserName"];

AjaxClass ajaxClass = new AjaxClass();
commonHelperManager manager = commonHelperManager.GetInstrance();
object result = manager.ExecuteScalar(sql, CommandType.Text, Field.SetParam("@AUserName",AUserName));
if (Convert.ToInt32(result)>0)
{
ajaxClass.Msg = "账号已存在,请另换一个。";
ajaxClass.Result = 0;
}
else
{
ajaxClass.Msg = "验证成功。";
ajaxClass.Result = 1;
}
string resultxml = Utility.Tool.Serialize(ajaxClass);

XmlDocument doc = new XmlDocument();
doc.LoadXml(resultxml);
contextWai.Response.ContentType = "text/xml"; //must be 'text/xml'
contextWai.Response.ContentEncoding = System.Text.Encoding.UTF8; //we'd like UTF-8
doc.Save(contextWai.Response.Output); //save to the text-writer
return doc;
}


另外一种:

//验证
function validateFrom() {
jQuery.validator.addMethod("CheckPinYin", function (value, element) {
if ($.trim(value) != "") {
var result = "0";

$.ajax({
url: '/SystemPage/Service/News/NewsClassHandler.ashx',
type: 'POST',
async: false,//同步,在这里不能用异步的,因为validate是即时验证的
data: {
"key": "CheckPinYinOfSonClass",
"CPinYin": value,
"ClassId": classID,
"PageURL": "/SystemPage/News/AddNewsClass.aspx"
},
dataType: 'text',
timeout: 8000,
success: function (e) {
result = e;//不能讲判断放在这里,放在外面才可以判断,可能在$.ajax里return true or false表示的意思冲突了。
}
});
if (result == "1") {
return true;
} else {
return false;
}
} else {
return false;
}
}, "此标识已存在,请另换一个");

$("#form1").validate({
rules: {
txtCName: {
required: true
},
txtCByName:
{
required: true
}, txtCPinYin: {
required: true,
CheckPinYin: true
}, txtCNewsTemplateUrl: {
required: true
}, txtClassTemplet:
{
required: true
}
, txtNewsTemplet:
{
required: true
}
},
messages: {
txtCName: {
required: "请输入……"
}, txtCByName:
{
required: "请输入……"
}, txtCPinYin: {
required: "请输入……"
}, txtCNewsTemplateUrl: {
required: "请输入……"
}, txtClassTemplet:
{
required: "请选择……"
}
, txtNewsTemplet:
{
required: "请选择……"
}
}
, success: function (label) {
label.html(" ").attr("class", "success").siblings("label").remove();
},
errorPlacement: function (error, element) {
$(element).next("span").find(".success").remove();
error.appendTo(element.next("span"));
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: