ASP.NET中實(shí)現(xiàn)jQuery Validation-Engine的Ajax驗(yàn)證
更新時(shí)間:2012年06月06日 20:54:48 作者:
在jQuery的表變驗(yàn)證插件中Validation-Engine是一款高質(zhì)量的產(chǎn)品,提示效果非常精美,而且里面包含了AJAX驗(yàn)證功能
見下圖:

驗(yàn)證的例子:http://www.position-relative.net/creation/formValidator/
官方地址: http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/
這個(gè)插件支持大部分的瀏覽器,但由于有使用到了css3的陰影和圓角樣式,所以在IE瀏覽器下無法看到圓角和陰影效果(IE 9 支持圓角效果)。
本文主要內(nèi)容是:在ASP.NET中實(shí)現(xiàn)AJAX驗(yàn)證功能。官方給出的Ajax驗(yàn)證例子是PHP的實(shí)例,筆者在網(wǎng)站查閱的資料基本都是翻譯的官網(wǎng),在ASP.NET中實(shí)現(xiàn)普通驗(yàn)證是沒有問題的。但是,不能實(shí)現(xiàn)Ajax驗(yàn)證,這應(yīng)該是個(gè)bug。筆者研究了插件代碼,給出我自己的一種解決方案,要在ASP.NET實(shí)現(xiàn)這種效果,必須修改官方的主JS文件,當(dāng)然同學(xué)們可以根據(jù)筆者的思路進(jìn)行挖掘,歡迎補(bǔ)充!實(shí)現(xiàn)效果見下圖:
插件包我們用的主要是三個(gè)文件:
jquery.validationEngine.js //插件主JS文件
jquery.validationEngine-cn.js //驗(yàn)證規(guī)則JS文件
validationEngine.jquery.css //樣式表文件
當(dāng)然,這個(gè)插件是jQuery的第三方插件,所以先要應(yīng)用jquery的核心庫,筆者測試jquery 1.6.1 是沒有問題的。
1.引入jquery和插件js、css文件
<link href="Scripts/Validation-Engine/css/validationEngine.jquery.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/jquery.validationEngine.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/languages/jquery.validationEngine-zh_CN.js" type="text/javascript"></script>
2.初始化插件,在頁面head區(qū)域加入如下代碼:
$(document).ready(function() {
$("#formID").validationEngine() ; //formID是你要驗(yàn)證的表單ID
})
3.添加表單元素驗(yàn)證規(guī)則,常用的驗(yàn)證規(guī)則上面官方地址有說明,還可以百度一下,這個(gè)不是難點(diǎn)。
<input id="Text3" type="text" class="validate[required,ajax[ajaxUsers]]" />
多個(gè)驗(yàn)證多逗號(hào)隔開
4.驗(yàn)證觸發(fā)
$("#formID").validationEngine({
inlineValidation: false, //在這里修改
success : false,
alidationEventTriggers:"keyup blur", //這里增加了個(gè)keyup,也就是鍵盤按鍵起來就觸發(fā)驗(yàn)證
promptPosition: "topRight", // 有5種模式 topLeft, topRight, bottomLeft, centerRight, bottomRight
failure : function() { callFailFunction() }
})
5.Ajax驗(yàn)證,好了,這里是才是問題所在,在分析問題之前我們先看下Validation-Engine主JS文件是怎樣實(shí)現(xiàn)Ajax驗(yàn)證的。打開jquery.validationEngine.js文件,Ctrl+F用查找"$.ajax"文檔中能找到兩處,我們要修改的是第二處,見下面折疊的官方源代碼,
官方j(luò)query.validationEngine.js 文件中的關(guān)鍵代碼
官方j(luò)query.validationEngine.js 文件中的關(guān)鍵代碼
$.ajax({
type: options.ajaxFormValidationMethod,
url: rule.url,
cache: false,
dataType: "json",
data: "fieldId=" + field.attr("id") + "&fieldValue=" + field.val() + "&extraData=" + extraData + "&" + extraDataDynamic,
field: field,
rule: rule,
methods: methods,
options: options,
beforeSend: function() {
// build the loading prompt
var loadingText = rule.alertTextLoad;
if (loadingText)
methods._showPrompt(field, loadingText, "load", true, options);
},
error: function(data, transport) {
methods._ajaxError(data, transport);
},
success: function(json) {
// asynchronously called on success, data is the json answer from the server
var errorFieldId = json[0];
//var errorField = $($("#" + errorFieldId)[0]);
var errorField = $($("input[id='" + errorFieldId +"']")[0]);
// make sure we found the element
if (errorField.length == 1) {
var status = json[1];
// read the optional msg from the server
var msg = json[2];
if (!status) {
// Houston we got a problem - display an red prompt
options.ajaxValidCache[errorFieldId] = false;
options.isError = true;
// resolve the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertText;
if (txt)
msg = txt;
}
}
else
msg = rule.alertText;
methods._showPrompt(errorField, msg, "", true, options);
} else {
if (options.ajaxValidCache[errorFieldId] !== undefined)
options.ajaxValidCache[errorFieldId] = true;
// resolves the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertTextOk;
if (txt)
msg = txt;
}
}
else
msg = rule.alertTextOk;
// see if we should display a green prompt
if (msg)
methods._showPrompt(errorField, msg, "pass", true, options);
else
methods._closePrompt(errorField);
}
}
errorField.trigger("jqv.field.result", [errorField, options.isError, msg]);
}
});
從上面官方源碼分析,這里的AJAX驗(yàn)證機(jī)制也是基于jQuery的$.AJAX()方法。為了找到插件無法驗(yàn)證的問題,筆者用jQuery手寫了一個(gè)$.AJAX()請(qǐng)求,來驗(yàn)證jquery.validationEngine.js中的AJAX驗(yàn)證。
5.1 第一步,創(chuàng)建后臺(tái)處理程序,這里創(chuàng)建一般處理程序?yàn)槔?,代碼如下:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
HttpContext _content = HttpContext.Current;
string validateId = _content.Request["fieldId"];
string validateValue = _content.Request["fieldValue"];
string validateError = _content.Request["extraData"];
string str;
if (validateValue == "abc")
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",true]}";
else
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",false]}";
context.Response.Write(str);
}
這里注意了:在AJAX驗(yàn)證的時(shí)候,會(huì)POST三個(gè)核心參數(shù)到后臺(tái),fieldId、fieldValue、extraData,當(dāng)然還可自定義其它的參數(shù)傳遞過來
5.2 第二步,創(chuàng)建一個(gè)aspx頁面仿照Validation-Engine的JS寫個(gè)AJAX請(qǐng)求,代碼如下:
演示頁面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FormValidation.aspx.cs" Inherits="DemoWeb.FormValidation" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>jQuery表單驗(yàn)證 - Validation-Engine</title>
<link href="Scripts/Validation-Engine/css/validationEngine.jquery.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/jquery.validationEngine.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/languages/jquery.validationEngine-zh_CN.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#formID").validationEngine({
ajaxFormValidation: true
});
$.ajax({
type: "get",
url: "AjaxBackstage/AjaxValidation.ashx",
cache: false,
data: { "fieldId": "Text4", "fieldValue": "haha", "extraData": "nowtime2012" },
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("錯(cuò)誤!XMLHttpRequest.status=" + XMLHttpRequest.status + ",XMLHttpRequest.readyState=" + XMLHttpRequest.readyState + ",textStatus=" + textStatus);
},
success: function (json) {
alert("你好,成功了!"+json.jsonValidateReturn[0] + ", " + json.jsonValidateReturn[1] + "," + json.jsonValidateReturn[2]);
}
});
});
</script>
</head>
<body>
<form id="formID" runat="server">
<h2>
jQuery - Validation-Engine - Ajax驗(yàn)證
</h2>
<br />
<p>
Ajax:<input id="Text3" type="text" class="validate[required,ajax[ajaxUsers]]" />
</p>
<p>
Ajax:<input id="Text4" type="text" class="validate[ajax[ajaxUsers]]"/>
</p>
<p>
Ajax:<input id="Text1" type="text" class="validate[required]"/>
</p>
</form>
</body>
</html>
url: "AjaxBackstage/AjaxValidation.ashx" 這里指向剛才創(chuàng)建的一般處理程序
調(diào)試結(jié)果返回的是正確的json格式的數(shù)據(jù)會(huì)執(zhí)行 succes下面的函數(shù),否則執(zhí)行error下面的函數(shù),下面看一下效果
string str;
if (validateValue == "abc")
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",true]}";
else
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",false]}";
//if (validateValue == "abc")
// str = "{'jsonValidateReturn':['" + validateId + "','" + validateError + "',true]}";
//else
// str = "{'jsonValidateReturn\":['" + validateId + "','" + validateError + "',false]}";
數(shù)據(jù)請(qǐng)求成功:
// 異步調(diào)用成功,數(shù)據(jù)是從服務(wù)器的JSON答案
// 改動(dòng)地方,原來jvar errorFieldId =json[0] 在asp.Net中是獲取不到數(shù)據(jù)的
// 改成下面的方式,注意jsonValidateReturn這里名稱定死了,在AJAX后臺(tái)返回?cái)?shù)據(jù)時(shí)必須和jsonValidateReturn一致
// {"jsonValidateReturn":["validateId","validateError","true"]}
var errorFieldId = json.jsonValidateReturn[0]; //改動(dòng)的地方
//var errorField = $($("#" + errorFieldId)[0]);
var errorField = $($("input[id='" + errorFieldId +"']")[0]);
// 確保我們找到元素
if (errorField.length == 1) {
var status = json.jsonValidateReturn[2]; //改動(dòng)的地方
// 從服務(wù)器讀取的可選MSG
var msg = json.jsonValidateReturn[1]; //改動(dòng)的地方
if (!status) {
// Houston,我們有一個(gè)問題 - 顯示一個(gè)紅色的提示
options.ajaxValidCache[errorFieldId] = false;
options.isError = true;
5.4 第四步,在語言文件中自定義規(guī)則,官方語言包中有中文語言文件調(diào)用jquery.validationEngine-zh_CN.js,這里筆者添加一個(gè)“ajaxUsers”規(guī)則。
// --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
"ajaxUsers": {
"url": "AjaxBackstage/AjaxValidation.ashx", // "validate.action", "validate.action"ajax驗(yàn)證用戶名,會(huì)post如下參數(shù):validateError ajaxUser;validateId user;validateValue cccc
"alertTextOk": "* 帳號(hào)可以使用.",
"alertTextLoad": "* 檢查中, 請(qǐng)稍后...",
"alertText": "* 帳號(hào)不能使用."
},
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
//"extraData": "name=eric",
"alertText": "* 此名稱已被其他人使用",
"alertTextLoad": "* 正在確認(rèn)名稱是否有其他人使用,請(qǐng)稍等。"
},
OK,試試看驗(yàn)證是不是能成功了呢。。。
作者:skylinetour

驗(yàn)證的例子:http://www.position-relative.net/creation/formValidator/
官方地址: http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/
這個(gè)插件支持大部分的瀏覽器,但由于有使用到了css3的陰影和圓角樣式,所以在IE瀏覽器下無法看到圓角和陰影效果(IE 9 支持圓角效果)。
本文主要內(nèi)容是:在ASP.NET中實(shí)現(xiàn)AJAX驗(yàn)證功能。官方給出的Ajax驗(yàn)證例子是PHP的實(shí)例,筆者在網(wǎng)站查閱的資料基本都是翻譯的官網(wǎng),在ASP.NET中實(shí)現(xiàn)普通驗(yàn)證是沒有問題的。但是,不能實(shí)現(xiàn)Ajax驗(yàn)證,這應(yīng)該是個(gè)bug。筆者研究了插件代碼,給出我自己的一種解決方案,要在ASP.NET實(shí)現(xiàn)這種效果,必須修改官方的主JS文件,當(dāng)然同學(xué)們可以根據(jù)筆者的思路進(jìn)行挖掘,歡迎補(bǔ)充!實(shí)現(xiàn)效果見下圖:
插件包我們用的主要是三個(gè)文件:
jquery.validationEngine.js //插件主JS文件
jquery.validationEngine-cn.js //驗(yàn)證規(guī)則JS文件
validationEngine.jquery.css //樣式表文件
當(dāng)然,這個(gè)插件是jQuery的第三方插件,所以先要應(yīng)用jquery的核心庫,筆者測試jquery 1.6.1 是沒有問題的。
1.引入jquery和插件js、css文件
<link href="Scripts/Validation-Engine/css/validationEngine.jquery.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/jquery.validationEngine.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/languages/jquery.validationEngine-zh_CN.js" type="text/javascript"></script>
2.初始化插件,在頁面head區(qū)域加入如下代碼:
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("#formID").validationEngine() ; //formID是你要驗(yàn)證的表單ID
})
3.添加表單元素驗(yàn)證規(guī)則,常用的驗(yàn)證規(guī)則上面官方地址有說明,還可以百度一下,這個(gè)不是難點(diǎn)。
<input id="Text3" type="text" class="validate[required,ajax[ajaxUsers]]" />
多個(gè)驗(yàn)證多逗號(hào)隔開
4.驗(yàn)證觸發(fā)
復(fù)制代碼 代碼如下:
$("#formID").validationEngine({
inlineValidation: false, //在這里修改
success : false,
alidationEventTriggers:"keyup blur", //這里增加了個(gè)keyup,也就是鍵盤按鍵起來就觸發(fā)驗(yàn)證
promptPosition: "topRight", // 有5種模式 topLeft, topRight, bottomLeft, centerRight, bottomRight
failure : function() { callFailFunction() }
})
5.Ajax驗(yàn)證,好了,這里是才是問題所在,在分析問題之前我們先看下Validation-Engine主JS文件是怎樣實(shí)現(xiàn)Ajax驗(yàn)證的。打開jquery.validationEngine.js文件,Ctrl+F用查找"$.ajax"文檔中能找到兩處,我們要修改的是第二處,見下面折疊的官方源代碼,
官方j(luò)query.validationEngine.js 文件中的關(guān)鍵代碼
復(fù)制代碼 代碼如下:
官方j(luò)query.validationEngine.js 文件中的關(guān)鍵代碼
$.ajax({
type: options.ajaxFormValidationMethod,
url: rule.url,
cache: false,
dataType: "json",
data: "fieldId=" + field.attr("id") + "&fieldValue=" + field.val() + "&extraData=" + extraData + "&" + extraDataDynamic,
field: field,
rule: rule,
methods: methods,
options: options,
beforeSend: function() {
// build the loading prompt
var loadingText = rule.alertTextLoad;
if (loadingText)
methods._showPrompt(field, loadingText, "load", true, options);
},
error: function(data, transport) {
methods._ajaxError(data, transport);
},
success: function(json) {
// asynchronously called on success, data is the json answer from the server
var errorFieldId = json[0];
//var errorField = $($("#" + errorFieldId)[0]);
var errorField = $($("input[id='" + errorFieldId +"']")[0]);
// make sure we found the element
if (errorField.length == 1) {
var status = json[1];
// read the optional msg from the server
var msg = json[2];
if (!status) {
// Houston we got a problem - display an red prompt
options.ajaxValidCache[errorFieldId] = false;
options.isError = true;
// resolve the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertText;
if (txt)
msg = txt;
}
}
else
msg = rule.alertText;
methods._showPrompt(errorField, msg, "", true, options);
} else {
if (options.ajaxValidCache[errorFieldId] !== undefined)
options.ajaxValidCache[errorFieldId] = true;
// resolves the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertTextOk;
if (txt)
msg = txt;
}
}
else
msg = rule.alertTextOk;
// see if we should display a green prompt
if (msg)
methods._showPrompt(errorField, msg, "pass", true, options);
else
methods._closePrompt(errorField);
}
}
errorField.trigger("jqv.field.result", [errorField, options.isError, msg]);
}
});
從上面官方源碼分析,這里的AJAX驗(yàn)證機(jī)制也是基于jQuery的$.AJAX()方法。為了找到插件無法驗(yàn)證的問題,筆者用jQuery手寫了一個(gè)$.AJAX()請(qǐng)求,來驗(yàn)證jquery.validationEngine.js中的AJAX驗(yàn)證。
5.1 第一步,創(chuàng)建后臺(tái)處理程序,這里創(chuàng)建一般處理程序?yàn)槔?,代碼如下:
復(fù)制代碼 代碼如下:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
HttpContext _content = HttpContext.Current;
string validateId = _content.Request["fieldId"];
string validateValue = _content.Request["fieldValue"];
string validateError = _content.Request["extraData"];
string str;
if (validateValue == "abc")
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",true]}";
else
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",false]}";
context.Response.Write(str);
}
這里注意了:在AJAX驗(yàn)證的時(shí)候,會(huì)POST三個(gè)核心參數(shù)到后臺(tái),fieldId、fieldValue、extraData,當(dāng)然還可自定義其它的參數(shù)傳遞過來
5.2 第二步,創(chuàng)建一個(gè)aspx頁面仿照Validation-Engine的JS寫個(gè)AJAX請(qǐng)求,代碼如下:
復(fù)制代碼 代碼如下:
演示頁面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FormValidation.aspx.cs" Inherits="DemoWeb.FormValidation" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>jQuery表單驗(yàn)證 - Validation-Engine</title>
<link href="Scripts/Validation-Engine/css/validationEngine.jquery.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/jquery.validationEngine.js" type="text/javascript"></script>
<script src="Scripts/Validation-Engine/js/languages/jquery.validationEngine-zh_CN.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#formID").validationEngine({
ajaxFormValidation: true
});
$.ajax({
type: "get",
url: "AjaxBackstage/AjaxValidation.ashx",
cache: false,
data: { "fieldId": "Text4", "fieldValue": "haha", "extraData": "nowtime2012" },
dataType: "json",
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("錯(cuò)誤!XMLHttpRequest.status=" + XMLHttpRequest.status + ",XMLHttpRequest.readyState=" + XMLHttpRequest.readyState + ",textStatus=" + textStatus);
},
success: function (json) {
alert("你好,成功了!"+json.jsonValidateReturn[0] + ", " + json.jsonValidateReturn[1] + "," + json.jsonValidateReturn[2]);
}
});
});
</script>
</head>
<body>
<form id="formID" runat="server">
<h2>
jQuery - Validation-Engine - Ajax驗(yàn)證
</h2>
<br />
<p>
Ajax:<input id="Text3" type="text" class="validate[required,ajax[ajaxUsers]]" />
</p>
<p>
Ajax:<input id="Text4" type="text" class="validate[ajax[ajaxUsers]]"/>
</p>
<p>
Ajax:<input id="Text1" type="text" class="validate[required]"/>
</p>
</form>
</body>
</html>
url: "AjaxBackstage/AjaxValidation.ashx" 這里指向剛才創(chuàng)建的一般處理程序
調(diào)試結(jié)果返回的是正確的json格式的數(shù)據(jù)會(huì)執(zhí)行 succes下面的函數(shù),否則執(zhí)行error下面的函數(shù),下面看一下效果
復(fù)制代碼 代碼如下:
string str;
if (validateValue == "abc")
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",true]}";
else
str = "{\"jsonValidateReturn\":[\"" + validateId + "\",\"" + validateError + "\",false]}";
//if (validateValue == "abc")
// str = "{'jsonValidateReturn':['" + validateId + "','" + validateError + "',true]}";
//else
// str = "{'jsonValidateReturn\":['" + validateId + "','" + validateError + "',false]}";
數(shù)據(jù)請(qǐng)求成功:
復(fù)制代碼 代碼如下:
// 異步調(diào)用成功,數(shù)據(jù)是從服務(wù)器的JSON答案
// 改動(dòng)地方,原來jvar errorFieldId =json[0] 在asp.Net中是獲取不到數(shù)據(jù)的
// 改成下面的方式,注意jsonValidateReturn這里名稱定死了,在AJAX后臺(tái)返回?cái)?shù)據(jù)時(shí)必須和jsonValidateReturn一致
// {"jsonValidateReturn":["validateId","validateError","true"]}
var errorFieldId = json.jsonValidateReturn[0]; //改動(dòng)的地方
//var errorField = $($("#" + errorFieldId)[0]);
var errorField = $($("input[id='" + errorFieldId +"']")[0]);
// 確保我們找到元素
if (errorField.length == 1) {
var status = json.jsonValidateReturn[2]; //改動(dòng)的地方
// 從服務(wù)器讀取的可選MSG
var msg = json.jsonValidateReturn[1]; //改動(dòng)的地方
if (!status) {
// Houston,我們有一個(gè)問題 - 顯示一個(gè)紅色的提示
options.ajaxValidCache[errorFieldId] = false;
options.isError = true;
5.4 第四步,在語言文件中自定義規(guī)則,官方語言包中有中文語言文件調(diào)用jquery.validationEngine-zh_CN.js,這里筆者添加一個(gè)“ajaxUsers”規(guī)則。
復(fù)制代碼 代碼如下:
// --- CUSTOM RULES -- Those are specific to the demos, they can be removed or changed to your likings
"ajaxUsers": {
"url": "AjaxBackstage/AjaxValidation.ashx", // "validate.action", "validate.action"ajax驗(yàn)證用戶名,會(huì)post如下參數(shù):validateError ajaxUser;validateId user;validateValue cccc
"alertTextOk": "* 帳號(hào)可以使用.",
"alertTextLoad": "* 檢查中, 請(qǐng)稍后...",
"alertText": "* 帳號(hào)不能使用."
},
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
//"extraData": "name=eric",
"alertText": "* 此名稱已被其他人使用",
"alertTextLoad": "* 正在確認(rèn)名稱是否有其他人使用,請(qǐng)稍等。"
},
OK,試試看驗(yàn)證是不是能成功了呢。。。
作者:skylinetour
相關(guān)文章
ASP.NET使用gridview獲取當(dāng)前行的索引值
這篇文章主要介紹了ASP.NET使用gridview獲取當(dāng)前行的索引值的方法匯總,有需要的小伙伴可以參考下。2015-06-06ASP.NET?MVC使用Log4Net記錄異常日志并跳轉(zhuǎn)到靜態(tài)頁
這篇文章介紹了ASP.NET?MVC使用Log4Net記錄異常日志并跳轉(zhuǎn)到靜態(tài)頁的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09.Net 對(duì)于PDF生成以及各種轉(zhuǎn)換的操作
這篇文章主要介紹了.Net 對(duì)于PDF生成以及各種轉(zhuǎn)換的操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06淺談.Net Core后端單元測試的實(shí)現(xiàn)
這篇文章主要介紹了淺談.Net Core后端單元測試的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03Asp.Net+XML操作基類(修改,刪除,新增,創(chuàng)建)
更新內(nèi)容: 1,根據(jù)父節(jié)點(diǎn)屬性讀取字節(jié)點(diǎn)值 2,根據(jù)節(jié)點(diǎn)屬性讀取子節(jié)點(diǎn)值(較省資源模式)2008-07-07.Net彈性和瞬態(tài)故障處理庫Polly實(shí)現(xiàn)彈性策略
這篇文章介紹了.Net彈性和瞬態(tài)故障處理庫Polly實(shí)現(xiàn)彈性策略的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06