OnClientClick запускается до ValidationGroup - PullRequest
7 голосов
/ 15 марта 2012

Это код, который я использую:

            <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 запускается перед ValidationGroup, так как функция JS вызываетв моем OnClientClick закрывает мое окно.

Таким образом, окно закрывается, и "*" (сообщение об ошибке) отображается только при повторном открытии моего окна.

Мне нужно, чтобы моя ValidationGroup была проверена первой!Заранее благодарен за помощь

Ответы [ 4 ]

16 голосов
/ 15 марта 2012

Используйте Page_ClientValidate(), который проверяет клиентские проверки

<asp:Button ID="Button1" runat="server" Text="Soumettre ce ticket" OnClick="Button1_Click"
            OnClientClick="if(Page_ClientValidate()) CloseDialog();" UseSubmitBehavior="false" ValidationGroup="validationincident" />
2 голосов
/ 17 декабря 2015

Используйте 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" />
1 голос
/ 15 марта 2012

Сделать причиныВалидация = "истина" для кнопки.

0 голосов
/ 18 июля 2018

Я столкнулся с той же проблемой. Вот как я это решил.

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