验证:
一、RequiredFieldValidator:非空验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
InitialValue:控件的初始值,如果验证出来的值与初始值相同,则也是判断为空
两种非空的形式:
1.什么内容都没有
ErrorMessage,ControlToValidate,Display
2.初始值没变
ErrorMessage,ControlToValidate,Display,InitialValue
二、CompareValidator:对比验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ControlToCompare:要对比的控件的ID
ValueToCompare:要对比的某个固定的值
Operator:运算符
Type:输入和比较的类型
两种对比的形式:
1.两个控件的值进行对比。——密码与确认密码
2.控件的值与某个固定对比。——月收入要大于0
两种对比的形式:
1.等值对比。——是否相等 。Operator=Equeal(默认)
2.不等值对比。——是否满足某个关系。Operator=GreaterThan,LessThan.....
三、RangeValidator,范围验证:
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
MaximumValue:范围上限值
MinimumValue:范围的下限值
Type:输入和验证的类型
案例:生日只能在1900-1-1 至2099-12-31之间
四、RegularExpressionValidator_正则表达式验证。
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ValidationExpression:验理证的正则表达式。
五、CustomValidator:自定义验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ClientValidationFunction :用来进行自定义验证的客户端的JS函数名(注意不要加括号)sushuyanzheng
客户端验证函数的定义
function 函数名(a,b)
{
//b.Value - 被验证控件中的值。
//b.IsValid - 告诉浏览器,验证是否通过了。true-通过了,不显示错误信息。false-没有通过,显示错误信息。
}
例子:验证素数。
<script language="javascript">
function sushuyanzheng(a, b) {
var n = parseInt(b.Value);
var c = 0;
for (var i = 1; i <= n; i++) {
if (n % i == 0) {
c++;
}
}
if (c == 2) {
b.IsValid = true;
}
else {
b.IsValid = false;
}
}
</script>
六、ValidationSummary:验证汇总控件
ShowMessageBox:是否用对话框显示错误 信息
ShowSummary:是否在页面上显示错误汇总信息
几个重要的难点及解决:
1.验证分组:把输入控件、验证控件、按钮控件的ValidationGroup设成同一个值,则他们就是在一组中。
2.阻止按钮激发验证:
法一:给按钮单独分组
法二:把按钮的CauseValidation属性设为False
3.验证出错显示*,用对话框显示错误信息。
实现邮箱模样的删除功能:
第一步:把汽车表的数据显示出来。
1.把基本数据和相关联的系列名称、厂商名称显示出来
2.把复选框做出来。<input type='checkbox' id='cb<%#Eval("")%>' name='cb' value='<%#Eval("Code")%>'>
第二步:做删除按钮
1.取出选中的汽车主键
string s = Request["cb"].ToString()
string[] keys = s.Split(',');
2.遍历删除
第三步:加删除之前的脚本判断
1.写个脚本函数。使用JS取出name=cb所有的复选框。
2.遍历判断每个是否被选中,并记数。
3.根据选中的记数,弹出相应的对话框。 return false,return true;
4.在删除按钮的OnClientClick使用return xxxx()调用这个脚本函数
第四步:删除成功后,的脚本提示。
在按钮的Click的C#代码最后,给界面上的Literal的Text赋值。传一个JS对话框的脚本代码过去。
练习:
var query = _context.zhuceng.Where(p => p.userID == txtUID.Text);
zhuceng data = query.FirstOrDefault();//获取空的元素
if (data == null)
{
Label1.Text = "此ID可用";
}
else
{
Label1.Text = "此ID已经注册";
}