C# 为什么不是';我的RangeValidator不工作吗?
我不止一次成功地使用了一个验证器,但经过一些编程后,我的验证器不起作用。也许我不知道为同一个控件定义两个验证器,但它也不适用于一个控件中的一个验证器。下面是我的两个代码示例: 示例1:用户名的一个必需字段验证器和一个“最大值”验证器:C# 为什么不是';我的RangeValidator不工作吗?,c#,asp.net,visual-studio,validation,controls,C#,Asp.net,Visual Studio,Validation,Controls,我不止一次成功地使用了一个验证器,但经过一些编程后,我的验证器不起作用。也许我不知道为同一个控件定义两个验证器,但它也不适用于一个控件中的一个验证器。下面是我的两个代码示例: 示例1:用户名的一个必需字段验证器和一个“最大值”验证器: <asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server" ControlToValidate="Us
<asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server"
ControlToValidate="UserNameTextbox" ForeColor="red"
Display="Dynamic" ErrorMessage="Required" />
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="UsernameTextbox" MinimumValue="1" MaximumValue="20" ForeColor="red"
Display="Dynamic" ErrorMessage="Name must contain maximum 20 characters"></asp:RangeValidator>
示例2:roadaddress(字符串)的一个“最大值”验证器:
我认为问题可能出在display属性或causesvalidation属性中,我没有使用它…这不是
RangeValidator
的用途。RangeValidator
用于检查输入,以确保其在特定范围内,即确保数字在1到5之间,日期在特定范围内,等等
您需要的是一个RegularExpressionValidator
:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="UserNameTextbox"
ErrorMessage="Username must be between 1 and 50 characters"
ValidationExpression="^[a-zA-Z\s]{1,50}">
</asp:RegularExpressionValidator>
编辑:将表达式更新为
^[a-zA-Z\s]{1,50}
RangeValidator不验证输入中的字符数,而是”
通过在文本框上设置MaxLength
属性,可以在没有验证器的情况下执行此操作,从而限制输入到文本框中的字符数
<asp:TextBox ID="UserNameTextbox" MaxLength="50" runat="server"></asp:TextBox>
没有AJAX没有UpdatePanel。。
<asp:TextBox ID="UserNameTextbox" MaxLength="50" runat="server"></asp:TextBox>