2011-05-29 27 views
11

Estoy usando jquery y jquery.validate.cs (jQuery Validation Plugin 1.8.0) para validar un formulario. En este momento, muestra un mensaje al lado de un campo que dice: "Este es un campo obligatorio".Validación Jquery: Cómo hacer que los campos sean rojos

También quiero que cada campo cambie al color rojo. ¿Como podría hacerlo? ¡Gracias!

Respuesta

30

sin ninguna configuración personalizada, puede simplemente hacer esto:

select.error, textarea.error, input.error { 
    color:#FF0000; 
} 
  • La clase predeterminada que se aplica a una entrada no válida es error
  • La clase predeterminada para una entrada que se validó es valid.

Estas clases también se aplican a la etiqueta de error, así que tenlo en cuenta al escribir tu CSS.

El validation plugin le permite configurar estos nombres de clases, por lo que puede hacer algo como esto:

$("form").validate({ 
    errorClass: "my-error-class", 
    validClass: "my-valid-class" 
}); 

.my-error-class { 
    color:#FF0000; /* red */ 
} 
.my-valid-class { 
    color:#00CC00; /* green */ 
} 

Las opciones de configuración se pueden encontrar en http://docs.jquery.com/Plugins/Validation/validate

+0

no use nombre de color; ha sido depreciado por w3c; en su lugar use '# F00' – diEcho

+2

@diEcho: es solo una demostración, pero aún no he oído hablar de eso. ¿Enlace por favor? Puede que no se lo recomiende, pero dudo mucho que quede obsoleto pronto. –

+1

@Wesley; incluso en la versión demo, debería preferir la mejor práctica, bcoz aquí, novato, solo seguirla :) por cierto, aquí está el enlace que también quiere ver: http://www.w3.org/TR/WCAG10-CSS-TECHS/#style-color -contrast – diEcho

1

uso de Firebug para ver lo que la clase del elemento de error es y luego usar CSS para que sea rojo:

.error-label { 
    color: red; 
} 
+1

Creo que s/él quiere hacer la entrada * * campo rojo, no se la etiqueta*. –

8
$("#myform").validate({ 
    error: function(label) { 
    $(this).addClass("error"); 
    }, 
}); 

uso del parámetro errorClass añadir la clase .invalid:

input.error { 
    color: red; 
} 
Cuestiones relacionadas