Asp.net RegularExpressionValidator 控件验证输入值验证输入值是否匹配正则表达式指定的模式
RegularExpressionValidator 控件用于验证输入值是否匹配正则表达式指定的模式
属性:
ControlToValidate="要验证的控件名称"
ValidationExpression="验证规则"
ErrorMessage="所要显示的错误信息"
text=“当验证失败时显示的消息。”
ForeColor=“提示信息的颜色”
页面结构:
HTML 代码:
<%-- 添加按钮--%>
<asp:Button ID="btnAdd" runat="server" Text="添 加" onclick="btnAdd_Click" ValidationGroup="checkText"/>
<%-- 验证项目名称必须为汉字限报人数必须为数字--%>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationGroup="checkText" ControlToValidate="txtEventName" ErrorMessage="* 项目名称只允许输入汉字" ValidationExpression="^[\一-\龥]{0,}$"/>
<%-- 验证限报人数必须为数字--%>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ValidationGroup="checkText" ControlToValidate="txtLimitNum" ErrorMessage="* 限报人数必须为数字" validationexpression="^[0-9]*$"></asp:RegularExpressionValidator>
<%-- 控制时间格式--%>
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ValidationGroup="checkText" ControlToValidate="txtTime" ErrorMessage="* 时间必须为“2011-01-01”格式" validationexpression= "^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$"></asp:RegularExpressionValidator>
<%-- 验证比赛地点必须为汉字--%>
<asp:RegularExpressionValidator ID="RegularExpressionValidator4" runat="server"ValidationGroup="checkText" ControlToValidate="txtPlace" ErrorMessage="* 比赛地点只允许输入汉字" ValidationExpression="^[\一-\龥]{0,}$"/>
上面的验证只是提示的作用,并不能够阻止button的添加,所以,最后还要用validationSummary控件,将上面验证的错误消息通过Messagebox显示出来,从而避免执行button_click()的方法。
<%-- 如果上面的验证未通过,在提示框中显示错误消息(ShowMessageBox=“true”) "--%>
<asp:ValidationSummary ID="ValidationSummary1"ValidationGroup="checkText" ShowMessageBox="true" ShowSummary="false" runat="server" />