【问题标题】:Asp.net button doesn't cause validation when postback disabled禁用回发时,Asp.net 按钮不会导致验证
【发布时间】:2014-01-09 09:01:12
【问题描述】:

我的页面上有一个表格。我想使用RequiredFieldValidator & RegularExpressionValidator 来验证电子邮件地址。

这是我的代码。

 <asp:TextBox ID="txtSubscribe" runat="server" CssClass="subscribe-textbox" placeholder="Your e-mail address"></asp:TextBox>
 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*Not valid e-mail address" ControlToValidate="txtSubscribe" CssClass="subscribe-form-error"></asp:RequiredFieldValidator>
 <asp:RegularExpressionValidator  ID="RegularExpressionValidator1" runat="server" ErrorMessage="*Not valid e-mail address" ControlToValidate="txtSubscribe" CssClass="subscribe-form-error" ValidationExpression="^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"></asp:RegularExpressionValidator>
 <asp:Button ID="btnSubscribe" runat="server" Text="" CssClass="subscribe-button" CausesValidation="true" OnClientClick="Subscribe(); return false;" />

我想用 ajax 在客户端发送电子邮件地址并在客户端获得结果。我想使用 asp 正则表达式元素。

当我使用OnClientClick="Subscribe(); return false;" 这段代码禁用按钮回发时,验证属性被禁用。

如何禁用按钮上的回发并导致验证?

【问题讨论】:

    标签: asp.net regex validation postback requiredfieldvalidator


    【解决方案1】:

    onbutton客户端点击它验证,一切都是正确的,它去 服务器端代码,在代码顶部,禁用按钮和 底部启用按钮。

    我之前在使用更新面板时遇到过很多次这个问题。

    我发现,如果需要验证该字段,那么您必须在元素上实际设置 CausesValidation="true" 才能使其仍然与更新面板一起使用。

    希望对你有所帮助!

    【讨论】:

      【解决方案2】:

      使用 Vignesh 的回答:

      &lt;asp:Button ID="btnSubscribe" runat="server" Text="" CssClass="subscribe-button" CausesValidation="true" OnClientClick="Subscribe(); return false;" CausesValidation="true" /&gt;

      【讨论】:

        猜你喜欢
        • 2011-11-15
        • 2011-09-28
        • 2011-02-02
        • 2023-01-27
        • 2012-05-26
        • 2015-06-06
        • 2014-01-03
        • 2010-10-23
        • 1970-01-01
        相关资源
        最近更新 更多