2012-03-15 30 views
6

Este es el código que estoy usando:OnClientClick despedido antes 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> 

Y mi botón de ASP:

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

Mi problema es que parece OnClientClick se dispara antes de ValidationGroup ya que la función JS llamada en mi OnClientClick Cierra mi ventana.

Por lo tanto, la ventana se cierra y el "*" (mensaje de error) solo se muestra cuando abro la ventana.

¡Necesito que mi ValidationGroup se compruebe primero! Gracias de antemano por su ayuda

Respuesta

17

Uso Page_ClientValidate() que comprueba las validaciones del cliente

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

i utilizado esto y preguntarse por qué aparece el mensaje dos veces? Utilicé un resumen de validación y establecí el cuadro de mensaje Mostrar en verdadero, ¿alguna corrección? Gracias – user2705620

2

Hacer CausesValidation = "true" para el botón.

2

Uso Page_ClientValidate() que comprueba las validaciones del cliente

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

Además, también puede especificar el grupo de validación Page_ClientValidate(validationGroup), en caso de tener múltiples validaciones en su página:

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