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之前被激发。
因此,窗口关闭,并且只有当我重新打开窗口时才会显示"*"(错误消息)。
我需要先检查我的验证组!提前感谢您的帮助
使用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" />