IMO ASP.NET驗證器是很不錯的,你可以檢查服務器端驗證與Page.IsValid
。
如果您不會檢查每個控件的顯示器消息框的服務器值或其他值,則可以使用CustomValidator
並使用ajax調用某個服務器端方法並將其用於驗證。
這是CustomValidator
調用服務器端ashx處理程序的JavaScript函數的示例,以檢查郵件地址是否有效,這只是一個示例,您可以使用ASP.NET爲調用服務器端提供的其他方法(服務,頁面方法等等)
只是一個注意:這不是服務器側驗證的替代,你仍然需要,因爲這可以很容易地避免。
function IsEmailValid(val, args) {
var strUrl = "/SiteHandler.ashx?CheckEmail=" + args.Value;
var strReturn = "";
$.ajax({
url: strUrl,
success: function (html) { strReturn = html; },
async: false
});
args.IsValid = strReturn == "true";
}
設置,其功能是自定義的驗證:
customValidator.ClientValidationFunction = "IsEmailValid";
在服務器端在ashx的處理程序:
public void ProcessRequest(HttpContext context)
{
if (context.Request.Params["CheckEmail"] != null)
{
if (CallSomeCustomLogicAndReturnIsMailOK(context.Request.Params[CheckEmail]))
context.Response.Write("true");
else
context.Response.Write("false");
}
}