如何使用Watermark属性和RegularExpressionValidator

时间:2013-06-14 15:26:45

标签: javascript asp.net watermark

我在aspx页面中使用此代码:

<asp:TextBox ID="Email" runat="server" ToolTip="Email" Text="Email" onblur="if (this.value=='') this.value='Email';" onfocus="if (this.value=='Email') this.value='';"></asp:TextBox>
<asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Please insert email" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="Email" ControlToValidate="Email" SetFocusOnError="True" Display="None"></asp:RegularExpressionValidator>

但我在文本框中使用 Text =&#34; Search&#34; 以在文本框中使用Watermark属性。请帮我使用Watermark属性和RegularExpressionValidator。

2 个答案:

答案 0 :(得分:0)

<asp:TextBox placeholder="Search" .... />

这很容易......所有现代浏览器都支持这种方式,你有没有理由让它与javascript一起使用?是否过于支持旧的IE?

并且就字符串“搜索”未通过验证而言 - 这不是一件好事吗?如果表单在文本框中保留默认“搜索”,您为什么希望表单有效?

但无论如何 - 如果这是你想要的,你可以改变你的正则表达式,就像在另一个答案中,或者你可以做微软做的事情,他们的水印是“someone@email.com”

答案 1 :(得分:0)

如果这就是你所追求的,那么这将接受“电子邮件”和有效的电子邮件地址作为有效令牌:

<asp:TextBox ValidationGroup="Email" ID="Email" runat="server" ToolTip="Email" Text="Email" onblur="if (this.value=='') this.value='Email';" onfocus="if (this.value=='Email') this.value='';"></asp:TextBox>
<asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="Please insert email" ValidationExpression="Email|(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)" ValidationGroup="Email" ControlToValidate="Email" SetFocusOnError="True" Display="None"></asp:RegularExpressionValidator>