2009-10-16 15 views

Respuesta

127

Utilice una función de colocación de error personalizada (consulte el plugin options) que no adjunta el mensaje de error a nada.

$('#form').validate({ 
    errorPlacement: function(error,element) { 
    return true; 
    } 
}); 

O podría poner los mensajes de error en otro lugar de la página, por ejemplo, en un DIV en la parte superior de la página.

+0

Gracias, encontré esta respuesta al tener el mismo problema :) – Agos

+1

@tvanfosson, Es correcto usar CSS así: 'label.error {display: none! Important;}' – Mori

+2

@RainLover Eso no anularía ningún estilos establecidos directamente en el elemento. Tendría que mirar para ver cómo el plugin normalmente hace la visualización. Si está completamente basado en clases, funcionaría, pero si usa mostrar/esconder, no lo haría. También lo forzaría a ingresar en una solución global (suponiendo que una única hoja de estilo para todo el sitio). – tvanfosson

9

Puede anular la función showErrors:

jQuery('form').validate({ 
    showErrors: function(errorMap, errorList) { 
     // Do nothing here 
    }, 
    onfocusout: false, 
    onkeyup: false, 
    rules: { 
     email: { 
      required: true 
     } 
    }, 
    messages: { 
     email: { 
      required: 'The email is required' 
     } 
    } 
}); 
+0

¿Eso no eliminará también resaltar el elemento? – tvanfosson

+3

@tvanfosson: Sí, realmente lo hace. –

+0

gracias por onfocusout y onkeyup! – user3560988

6

Esto es cómo lo hago. Sólo hay que poner $.validator.messages.required = ''; antes de su llamada para inicializar validate() es decir .:

$.validator.messages.required = ''; 
$('#formData').validate({});` 

Esto hará que se muestran los estilos en las entradas, pero no hay etiquetas de mensajes!

+0

solución perfecta –

Cuestiones relacionadas