C#包含有六种验证方式,分别为:
一、非空验证 RequiredFieldValidator.
二、对比验证 CompareValidator.
三、范围验证 RangeValidator.
四、正则表达式验证 RegularExpressionValidator.
五、验证汇总 ValidationSummary.
六、自定义验证.
两个应用技巧:
1.防止按钮激发验证控件。
默认情况下,3类按钮都会激发验证。
如果不想激发验证:给按钮的CauseValidation=false
2.验证分组的问题。
把输入控件(文本框,单选,多选)、验证控件(非空,对比,范围,正则,自定义,汇总)、按钮的ValidationGroup属性设成相同的值。
它们就变成一组了。
使用验证空间首先需要修改的三个属性(六大验证方式通用):
1.ErrorMessage:验证失败显示的错误信息
2.Display:验证程序的显示方式--一般情况下为Dynamic动态显示(验证失败显示).
3.CotrolToValidate:要验证的控件ID(例如:验证TextBox中账号的内容,CotorlToValidate就填该TextBox的ID).
不同的属性:
一、非空验证 RequiredFieldValidator.
InitialValue - 验证的初始值,被验证控件的值与此值相同的话,就认为是空
例如:文本框里面的(必填)两个字
二、对比验证 CompareValidator.
ControlToCompare - 要对比的控件的ID
ValueToCompare - 要对比的值
Operator - 对比的运算符
Type - 输入的对比类型
三、范围验证 RangeValidator.
MaximumValue - 范围的上限
MinimumValue - 范围的下限
Type - 类型
四、正则表达式验证 RegularExpressionValidator.
ValidationExpression - 验证表达式(也可自己定义)
五、验证汇总 ValidationSummary.
ShowMessageBox - 是否以对话框的形式显示汇总的错误信息
ShowSummary - 是否在页面上显示汇总的错误信息
六、自定义验证.---自定义验证被认为是功能最强大的验证方式
必填信息:
ErrorMessage - 验证出错后的提示信息
ControlToValidate - 要验证的控件的ID
Display - 显示方式。Static-不显示也占空间。Dynamic-不显示不占空间
ClientValidationFunction - 客户端验证函数的函数名。(不要加括号)
客户端验证函数的规范:
function 函数名(事件源,事件数据)
{
事件数据.Value -- 要被给证的值。该验证控件所要验证的那个输入框中的值。
事件数据.IsValid -- 告诉验证控件,验证是否通过。
}
案例:
<script language="javascript">
function zhiShu(a, b) { //a-事件源,b-事件数据
//主要用到的就是b
//b.Value-获得该验证控件所要验证的那个控件的值。将要被验证的值。
//b.IsValid-告诉浏览器,验证是否通过。true-通过.false-不通过(把ErrorMessage显示出来,阻止提交)。
//步骤
//1.把要被验证的值取出来。
var s = b.Value;
//2.进行验证
var isOK = false;
if (isNaN(s) == false) { //首先要看是不是个数字
var zc = 0; //取余为0的个数
var num = parseInt(s); //转化成整数计算
for (var i = 1; i <= num; i++) { //从1开始到数值本身,挨个整除,如果能被整除就记录一下zc++;
if (num % i == 0) {
zc++;
}
}
if (zc == 2) {
isOK = true;
}
else {
isOK = false;
}
}
else {
isOK = false;
}
//3.告诉验证控件是否验证通过。
b.IsValid = isOK;
}
</script>