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
{
//提示
}
}
客户端和服务端同时验证
将上面的两部分代码合并可以了