OnClientClick срабатывает перед ValidationGroup

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

            <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, закрывает мое окно.

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

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

4 ответа

Решение

Использование 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" />

Сделайте reasonValidation="true" для кнопки.

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

 <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myGroup" OnClientClick="Page_ClientValidate()){ return CloseDialog();}else { return false;}" OnClick="Button1_Click" /> 
Другие вопросы по тегам