OnClientClick在ValidationGroup之前激发

本文关键字:ValidationGroup OnClientClick | 更新日期: 2023-09-27 18:27:57

这是我正在使用的代码:

            <telerik:RadTextBox ID="txtTitre" runat="server" Skin="Windows7" Width="250">
            </telerik:RadTextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
                ForeColor="Red" ControlToValidate="txtTitre" ValidationGroup="validationincident"></asp:RequiredFieldValidator>

还有我的ASP按钮:

        <asp:Button ID="Button1" runat="server" Text="Soumettre ce ticket" OnClick="Button1_Click"
            OnClientClick="CloseDialog()" UseSubmitBehavior="false" ValidationGroup="validationincident" />

我的问题是,由于我的OnClientClick中调用的JS函数关闭了我的窗口,OnClientClicks似乎在ValidationGroup之前被激发。

因此,窗口关闭,并且只有当我重新打开窗口时才会显示"*"(错误消息)。

我需要先检查我的验证组!提前感谢您的帮助

OnClientClick在ValidationGroup之前激发

使用Page_ClientValidate()检查客户端验证

<asp:Button ID="Button1" runat="server" Text="Soumettre ce ticket" OnClick="Button1_Click"
            OnClientClick="if(Page_ClientValidate()) CloseDialog();" UseSubmitBehavior="false" ValidationGroup="validationincident" />

使用Page_ClientValidate()检查客户端验证

<asp:Button ID="Button1" runat="server" Text="Button" 
     OnClientClick="if(Page_ClientValidate()) CloseDialog();" OnClick="Button1_Click"/>

此外,您还可以指定验证组Page_ClientValidate(validationGroup),以防您的页面上有多个验证:

<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myGroup"
      OnClientClick="if(Page_ClientValidate('myGroup')) CloseDialog();" OnClick="Button1_Click" />

Make causesValidation="true"for button。

我遇到了同样的问题。这就是我解决问题的方法。

 <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myGroup" OnClientClick="Page_ClientValidate()){ return CloseDialog();}else { return false;}" OnClick="Button1_Click" />