【问题标题】:Submit form after asp:RegularExpressionValidator check form valid?asp:RegularExpressionValidator 后提交表单检查表单是否有效?
【发布时间】:2016-12-08 23:50:09
【问题描述】:

我有一个带有这个标记的表单:

<asp:TextBox ID="txtMeMail" runat="server" Width="250px" ToolTip="error"></asp:TextBox>
<asp:RegularExpressionValidator CssClass="mandatory msg" ID="RegularExpressionValidator1" runat="server" Display="Dynamic" ValidationGroup="validEmail" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ControlToValidate="txtMeMail" ErrorMessage="error" EnableClientScript="true" />
<button class="button noMarginLeft" runat="server" validationgroup="validEmail" accesskey="S" id="btnSave" onserverclick="BtnSave_Click" value="Page.FIUserEdit.SaveButton.Label">
    <asp:Label runat="server" Text="label"></asp:Label>
</button>

当我输入“abc”并从文本框中删除焦点时,会显示无效的电子邮件。之后,我用有效的电子邮件更正了文本框,并将焦点放在文本框上,然后单击提交按钮。验证消息消失,但表单未提交。

有什么方法可以验证然后提交表单吗?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    尝试使用

    <asp:Button class="button noMarginLeft" runat="server" ValidationGroup="validEmail" accesskey="S" ID="btnSave" OnServerClick="BtnSave_Click" value="Page.FIUserEdit.SaveButton.Label" />
    

    问题是你使用的是普通的html Button 标签。虽然它可以工作,但不推荐,因为你失去了功能,请参阅How can I use the button tag with ASP.NET?

    如果您确实想要按钮内的内容,请使用 LinkBut​​ton。

    【讨论】:

    • 如果您将OnServerClick 替换为OnClick,它将起作用。 :-)
    • 如果我尝试该按钮即使在电子邮件无效时仍会回发。
    • 仍然无法正常工作,我调试了 javascript,发现在文本框的更改事件上返回 true,并且未调用提交。
    • 认为我发现根本原因是当验证消息出现时,它使提交按钮移动,而我的点击没有在按钮上。
    猜你喜欢
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    相关资源
    最近更新 更多