8

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

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

4 Answers4

19

Use Page_ClientValidate() which checks the client validations

<asp:Button ID="Button1" runat="server" Text="Soumettre ce ticket" OnClick="Button1_Click"
            OnClientClick="if(Page_ClientValidate()) CloseDialog();" UseSubmitBehavior="false" ValidationGroup="validationincident" />
PraveenVenu
  • 8,217
  • 4
  • 30
  • 39
  • i used this and wonder why the messagebox appears twice? i usesd a validation summary and set is show message box to true, any fix? thanks – Albert Laure Nov 11 '13 at 08:07
2

Use Page_ClientValidate() which checks the client validations

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

<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myGroup"
      OnClientClick="if(Page_ClientValidate('myGroup')) CloseDialog();" OnClick="Button1_Click" />
Vaibhav Garg
  • 3,630
  • 3
  • 33
  • 55
1

Make causesValidation="true" for button.

ankit rajput
  • 182
  • 2
  • 5
-1

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