文本框内字符串的验证(不使用CustomValidators)

本文关键字:CustomValidators 验证 字符串 文本 | 更新日期: 2023-09-27 18:18:19

我有一个像这样的文本框:

<asp:TextBox ID="headertxtUserName" runat="server" Text="User Name" onfocus="onfocusOfUserName(this);" 
    onblur="onblurOfUserName(this);" CssClass="header-login-input" ValidationGroup="A" Font-Names="Tahoma">
</asp:TextBox>

如你所见,文本框中有一个默认的text = "User Name"。
我应该为这个文本框使用哪个验证器呢?

当Text="User Name"或Text="返回false时


当文本!= "用户名称"或文本!="返回true。

我知道我们可以使用CustomValidators!
但我不想要任何回复,所以我能做什么?

文本框内字符串的验证(不使用CustomValidators)

您可以将RegularExpressionValidator与RequiredFieldValidator控件结合使用。它将在客户机上验证文本框的值,而不进行回发。

下面的语法可能有点不对劲。我身边没有安装Visual Studio的PC,所以我是凭脑子做的。如果我拼写错了,请原谅。

<asp:TextBox id="UserNameTextBox" runat="server" Text="User Name" /> 
<asp:RegularExpressionValidator id="UserNameTextBoxRegexValidator" runat="Server" ControlToValidate="UserNameTextBox" ValidationExpression="^User Name$" ErrorMessage="please enter a user name" />
<asp:RequiredFieldValidator id="UserNameTextBoxRequiredFieldValidator" runat="server" ControlToValidate="UserNameTextBox" ErrorMessage="please enter a user name" />

您是否考虑过使用Ajax控件工具包的TextBox水印将文本框的背景文本设置为"User Name"您可以设置它,这样一旦用户单击文本框,水印将消失,用户可以继续输入他们的值。如果用户将文本框留空,则文本将被设置回水印的值。

您可以在客户端和服务器验证之前将此与上面的建议结合使用,以获得更完整的用户体验。

查看这里:TextBox水印