2010-05-13 5 views
3

J'utilise ASP.NET MVC 2.bordure rouge autour TextBox lorsque la validation échoue

Html.DropDownListFor et Html.TextAreaFor automatiquement obtenir des bordures rouges lorsque la validation échoue. Comment faire pour rendre les quatre bordures d'un TextBox (utilisant Html.TextBoxFor) rouge quand il échoue la validation?

Par exemple, j'ai un TextBox qui est requis et lorsque l'utilisateur soumet le formulaire sans spécifier de valeur dans la zone de texte, je veux que la zone de texte ait des bordures rouges.

+0

Référez http://www.c-sharpcorner.com/Blogs/9849/change-background-color-of-a-control- when-validation-failed-i.aspx – Syed

Répondre

21

Lorsque la validation échoue pour une propriété de modèle, elle ajoute une classe à l'entrée dans le code HTML. Jetez un coup d'œil sur le fichier html rendu lorsque la validation échoue (en utilisant la source de vue ou le firebug) et vérifiez la classe pour votre entrée *. Ensuite, éditez votre CSS pour inclure un style pour la validation échouée.

E.g. Dans mon projet, j'ai:

input.input-validation-error, 
textarea.input-validation-error, 
select.input-validation-error 
{ 
    background: #FEF1EC; 
    border: 1px solid #CD0A0A; 
} 

HTHS,
Charles

* Je suis assez sûr ASP.NET MVC ajouter par défaut la classe input-validation-error.

+4

Votre réponse m'a orienté dans la bonne direction. J'ai découvert que css suivant (dans Site.css): entrée [type = "text"] { largeur: 200px; bordure: 1px solide #CCC; } est redéfinissant cette css: .input-validation-error { border: 1px solid # FF0000; Couleur de fond: #ffeeee; } Par conséquent, les bordures des TextBox ne sont jamais devenues rouges lorsque la validation a échoué. En remplaçant le css par le suivant .input-validation-error { frontière: 1px solide # ff0000! Important; Couleur de fond: #ffeeee; } les bordures sont rouges lorsque la validation échoue. – thd

+0

Un grand merci à ses travaux pour moi aussi avec cette approche .... 'INPUT [type = 'radio'], .input-validation-error { frontière: 1px solide #fff; Couleur de fond: #fff; } ' –

2

Tout ce que vous devez faire est le CSS ci-dessous:

.input-validation-error { 
    border: 1px solid #ff0000; 
    background-color: #ffeeee; 
} 
Questions connexes