Sunshine, Pure Land
动物的趋光性

这段时间可能就比较清闲了,就过来总结一下这段时间的收获!
最近做的一个项目里面验证控件用的比较多,觉得比JS的验证好用多了,而且用户体验效果也好!

常用的几个验证控件

Validation 服务器控件描述
CompareValidator 把一个输入控件的值与另一个输入控件或一个固定的值进行对比。
CustomValidator 允许您编写一个方法,来处理输入值的验证。
RangeValidator 在两个值的范围内检查输入的值。
RegularExpressionValidator 确保输入控件的值匹配指定的模式。
RequiredFieldValidator 是输入控件成为必需(必填)的字段。
ValidationSummary 显示网页中所有验证错误的报告。
首先,先说下验证控件的几个常用的属性,

1 ValidationGroup属性
定义和用法

获取或设置在 Button 控件回发到服务器时要进行验证的控件组。

通常在表单中存在多个按钮时使用该属性。

语法

<asp:Button ValidationGroup="group" runat="server" /> 
属性描述
group 要验证的控件组。

实例

下面的例子会验证特定的验证组:

<asp:textbox id="tb1" runat=Server />
<asp:requiredfieldvalidator id="ReqField1" controltovalidate="tb1"
validationgroup="valGroup1" ErrorMessage="Required" runat="server" />

<asp:button id="Button2" text="Validate" causesvalidation="True"
validationgroup="valGroup2" runat="server" />


2 SetFocusOnError 属性


使用 SetFocusOnError 属性指定在验证由 ControlToValidate 属性指定的控件失败时,是否自动将焦点

设置到该控件上。 这使用户可以快速更新相应的控件。
如果多个验证控件失败,并且此属性设置为 true,则焦点设置到第一个验证控件的 ControlToValidate 属性中指定的控件上。

3 Display 属性 获取或设置验证控件的错误消息的显示行为,默认值为Static

   程序代码

用户名:<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server" ControlToValidate="txtUserName"
Display="Static">必填!</asp:RequiredFieldValidator><br />
密码:
<asp:TextBox ID="txtUserPass" runat="server" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2"
runat="server" ControlToValidate="txtUserPass"
Display="Dynamic">必填!</asp:RequiredFieldValidator><br />
<asp:Button ID="Button1" runat="server" Text="登录" />

生成的代码为:


程序代码

用户名:<input name="txtUserName" type="text" id="txtUserName" />
<span id="RequiredFieldValidator1" style="color:Red;visibility:hidden;">必填!</span><br />
密码:
<input name="txtUserPass" type="password" id="txtUserPass" />
<span id="RequiredFieldValidator2" style="color:Red;display:none;">必填!</span><br />
<input type="submit" name="Button1" value="登录"
onclick="javascript:WebForm_DoPostBackWithOptions(new
WebForm_PostBackOptions("Button1", "", true, "", "", false, false))"
id="Button1" />

从生成的代码我们可以知道:Static转化为visibility:hidden,Dynamic转化为display:none,它们的相同点是都不能在页面上看到

,但visibility仍会在页面中占据一定的位置!

4 下面给大家介绍一个DropDownList的验证

  <asp:DropDownList ID="fengge" runat="server"></asp:DropDownList>
<asp:comparevalidator id="Comparevalidator1" runat="server" validationgroup="valGroup1"
 ControlToValidate="fengge" Type="String" ValueToCompare="请选择" Operator="NotEqual"
 ErrorMessage="请选择风格" Display="Dynamic"></asp:comparevalidator>
TYPE: 要验证的值的类型
ValueToCompare :获取或设置要比较的值
Operator:获取或设置验证中使用的比较操作,默认值为Equal

效果:


当DropDownList 的值等于“请选择”的时候,会激发验证。


 

posted on 2011-02-24 14:20  冰-阳光  阅读(433)  评论(0编辑  收藏  举报