RegEx错误未显示

时间:2014-09-22 15:09:22

标签: javascript asp.net regex

我在桌面上连续有几个文本框,由于这个原因,我无法看到错误信息,目前只显示一个对最终用户没用的星号(*)。

针对此问题的任何想法/解决方案/解决方案?

下面是我的aspx代码:

    <asp:TextBox ID="name" runat="server" Text='<%#bind("Name") %>'></asp:TextBox>

<asp:RequiredFieldValidator ID="FieldValidator" runat="server" 
ControlToValidate="name" ValidationGroup="vg" SetFocusOnError="True">*</asp:RequiredFieldValidator>

<asp:RegularExpressionValidator ID="RegName" runat="server" ControlToValidate="name" 
ErrorMessage="* Required, no more than 20 characters allowed." ValidationGroup="vg" 
ValidationExpression="^[a-zA-Z''-'\s]{1,20}$">*</asp:RegularExpressionValidator>

1 个答案:

答案 0 :(得分:2)

在页面上设置验证摘要,这将显示错误消息。不要把它放在它们之间而不是*,因为它会用空格将数字设置为数英里,直到调用错误为止。

来源:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.regularexpressionvalidator_properties(v=vs.110).aspx

以下我在Chrome上测试的一些代码放入警告框中,这样用户就不会错过它,而且你不必操纵你正在处理的任何事情。以适应摘要:

            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
            ErrorMessage="You may only enter a maxium of twenty characters."
            ControlToValidate="txtBx2"
            ValidationExpression="^[\s\S]{0,20}$" Display="None"/>

<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="true" ShowSummary="false"/>