CustomValidator控件允許用戶自定義驗證可以在服務器端驗證可以在客戶端驗證也可以在客戶端和服務端同時驗證
下面的例子是驗證一個數能否被整除
服務器端驗證
在驗證的時候會用到IsValid這個屬性根據IsValid的值(true/false)來判斷是否通過頁面驗證
a 拖放控件TextBox用於輸入值Button用於測試驗證狀態IsValid為true觸發Click事件CustomValidator控制要驗證的對象和驗證事件等
b 設置CustomValidator的屬性這裡設置ErrorMessage為Not an even number!ControlToValidate為Text
c 編寫CustomValidator的ServerValidation事件
protected void CustomValidator_ServerValidate(object source ServerValidateEventArgs args)
{
try
{
int num = intParse(argsValue);
argsIsValid = ((num%)==);
}
catch (Exception ex)
{
argsIsValid = false;
}
}
d 編寫Button的Click事件
protected void Button_Click(object sender EventArgs e)
{
if (PageIsValid)
{
ResponseRedirect(gouWuCheaspx);
}
else
{
//提示
}
}
客戶端驗證
使用javascript function驗證並用設置ClientValidationFunction為javascript 驗證函數(function)
a Javascript 函數
<script language=javascript>
function ValidateNumber(sourceargs)
{
if(argsValue%==)
{
argsIsValid=true;
}
else
{
argsIsValid=false;
}
}
</script>
b 設置CustomValidator的屬性這裡設置ErrorMessage為請輸入能被整除的數ControlToValidate為TextBox ClientValidationFunction為ValidateNumber
c 編寫Button的Click事件
protected void Button_Click(object sender EventArgs e)
{
if (PageIsValid)
{
ResponseRedirect(gouWuCheaspx);
}
else
{
//提示
}
}
客戶端和服務端同時驗證
將上面的兩部分代碼合並可以了
From:http://tw.wingwit.com/Article/program/net/201311/13939.html