验证控件:
作用:可以对用户的输入信息进行限定,防止不合法的数据。另一方面可以不需要经过服务器,直接在客户端进行验证。大大提高了网页的处理速度。
共有属性
Errormessage:用来提示错误的内容。
text:验证不通过时要验证控件要显示的内容。
ControlToValidate:值为被验证控件的ID
非空验证控件:RequireFieldValidator
使控件的内容不能为空。
比较控件CompareValidator
有三中比较:值比较,类型比较,和控件比较。
值比较:
<asp:RequiredFieldValidator
ID="txtyanzheng" //控件的编程ID
runat="server" ErrorMessage="*" //显示错误时,为*
ControlToValidate="TextBox3" //对TextBox3进行验证
ForeColor="Red">
</asp:RequiredFieldValidator>
类型比较
<asp:CompareValidator ID="CompareValidator1" runat="server"
ErrorMessage="固定值错误" ControlToValidate="TextBox3"
Display="Dynamic" ForeColor="#FF3300" Operator="DataTypeCheck" //选择为类型比较
Type="Date"> //验证输入内容必须为日期类型
</asp:CompareValidator>
控件比较
<asp:CompareValidator ID="CompareValidator2"
runat="server" ControlToCompare="txt" //对该控件进行验证
ControlToValidate="TextBox4" ErrorMessage="两次密码不一致"> //参照的控件
</asp:CompareValidator>
范围控件:RangeValidator
对用户输入的数值进行范围的控制。在设定范围大小的时候,一定要修改相应的类型。比如要设定的范围为日期,那么也有修改Type为Date。否则可能出错。
正则表达式控件:RegularExpressionValidator
本来以为这个是最难的,原来它是最简单的。想要验证什么表达式就选什么表达式就好了。
自定义表达式:CustomValidator
这个还是挺灵活的,可以自己定义该控件的验证。实例
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
//source为事件对象。args这里我也不清楚
string userName = args.Value;
SqlConnection con = new SqlConnection("server=.;database=login;uid=sa;pwd=123456");
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection =con;
cmd.CommandText ="select count(*) from login where userName='" +userName +"'";
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count>0)
{
args.IsValid = false; //自定义:规定用户存在时,不能通过验证
}
else
{
args.IsValid = true;
}
}
总结验证控件:ValidationSunmmary
用于显示界面所有验证控件的ErrorMessage信息。
另外在使用验证控件时,如果出现了下面的错误,不要着急。我认为可能是因为客户端的某些引用什么的没有开启吧。
在配置文件里添加如下:
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>
freetextbox控件
一个可以在线编辑的控件,不知道咱CSDN上是不是这个控件。我觉得不是。另外在使用该控件的时候也遇到了一个问题,只要加载了这个控件,整个项目就生成不了。
如果有一个自动生成的一个文件:
licenses.licx 。删掉就好了
。
里面有一句话:FreeTextBoxControls.FreeTextBox, FreeTextBox, Version=3.2.1.39063, Culture=neutral, PublicKeyToken=5962a4e684a48b87。不知道这是啥玩意。