javascript OnClientClick 在 ValidationGroup 之前触发

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9718698/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-26 07:35:40  来源:igfitidea点击:

OnClientClick fired before ValidationGroup

c#javascriptasp.netvalidationgroup

提问by PraveenVenu

This is the code i'm using:

这是我正在使用的代码:

            <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>

And my ASP button:

还有我的 ASP 按钮:

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

My problem is it seems OnClientClick is fired before ValidationGroup since the JS function called in my OnClientClick Closes my window.

我的问题是 OnClientClick 似乎在 ValidationGroup 之前被触发,因为在我的 OnClientClick 中调用的 JS 函数关闭了我的窗口。

So the window closes and the "*" (error message) is only displayed when i reopen my window.

所以窗口关闭,只有当我重新打开窗口时才会显示“*”(错误消息)。

I need my ValidationGroup to be checked first! Thanks in advance for your help

我需要先检查我的 ValidationGroup !在此先感谢您的帮助

回答by PraveenVenu

Use Page_ClientValidate()which checks the client validations

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

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

回答by Vaibhav Garg

Use Page_ClientValidate()which checks the client validations

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

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

In addition, you can also specify the validation group Page_ClientValidate(validationGroup), in case you have multiple validations on your page:

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

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

回答by ankit rajput

Make causesValidation="true" for button.

为按钮设置原因验证 =“true”。

回答by Gourab Dhargupta

I ran into the same Problem. This is how i solved it.

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

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