2011-07-23 15 views
5

Me gustaría ejecutar una función si mi formulario tiene completamente validado de acuerdo con mis reglas definidas (No se muestra a continuación).jQuery validation: ¿Comprobar si el formulario está validado?

El siguiente código no funciona como me gustaría, sin duda dependiendo del hecho de que se llame a la función success por entrada y no a nivel global para el formulario completo.

¿Hay alguna solución para obtener una devolución de llamada de éxito global que se ejecuta cuando el formulario completo valida correctamente?

$("#myForm").validate({ 

    success: function(label) { 

     if ($("#myForm").valid()) { 
      runMyFunction(); 
     } 

    }, 

    rules: { 
     //... 
    } 

}); 

Respuesta

0

se puede utilizar validar masa de LiveValidation

favor pago y envío su API, tiene validador masa que hace lo que quiere exactamente.

http://livevalidation.com/

http://livevalidation.com/documentation#LiveValidationMassValidate

también se puede utilizar la validación de jQuery bassistance http://docs.jquery.com/Plugins/Validation/valid

+0

Hola! Como puede ver en mi ejemplo, ya llamo a la función 'válida' en la devolución de llamada exitosa. Lamentablemente no funciona. ¿Alguna sugerencia? – Industrial

+0

puede ver la respuesta de @ 3nigma. Parece válido ... :) –

+0

La respuesta no tiene sentido ... OP pregunta por el complemento jQuery Validate de Bassistance. – Sparky

1
$("#myForm").validate({ 

    rules: { 
     //... 
    }, 
    success: function(label) {   

    }, 
    submitHandler: function(e) { 
      e.preventDefault(); 
      runMyFunction();   
    }  
}); 

REF: http://docs.jquery.com/Plugins/Validation/validate#toptions

que no te tienen que ver

if ($("#myForm").valid()) { 
      runMyFunction(); 
     } 

la success devolución de llamada se llama sólo cuando el de simplemente se valida runMyFunction()

+0

'éxito' callback no funciona en un entorno global base y se llama para cada validación aprobada, es decir. para cada forma correctamente ingresada por el usuario. – Industrial

+0

@Industrial tiene usted razón, editó la respuesta – Rafay

Cuestiones relacionadas