J'utilise MVC3 avec RAZOR. Pour l'entrée, j'ai deux types de contrôle:
@ html.textboxfor code> li>
-
@ html.textareafor code> li>
ol> Les deux ont obligé la validation de champ. @ html.textareafor code> Mettez en surbrillance la case si la validation échoue lorsque @ html.textboxfor code> n'est pas. p> Voici mon code P> HTML: P>
[Required(ErrorMessage = "First Name is required")]
public string FirstName { get; set; }
6 Réponses :
Pour avoir une validation côté client, vous devez vous assurer que les scripts nécessaires sont inclus dans votre vue (que ce soit via la vue _layout.cshtml ou votre vue directe). Mettez ceci en haut de votre vue: S'assurer que le chemin et les noms de script sont corrects. Cela vous permettra d'utiliser la validation côté client (c'est-à-dire en surbrillance la zone de texte). P> P>
Je les ai dans mon _layout.cshtml au sommet. J'ai aussi essayé de mettre à mon avis. Pas de chance.
Assurez-vous que les variables que vous attribuez à ces champs de saisie sont [requises] dans votre classe de modèle .. Aussi avez-vous supprimé un CSS dans un processus "nettoyage"? Essayez d'ajouter ceci si ce n'est pas là.
.field-validation-error { color: #ff0000; } .field-validation-valid { display: none; } .input-validation-error { border: 1px solid #ff0000; background-color: #ffeeee; } .validation-summary-errors { font-weight: bold; color: #ff0000; } .validation-summary-valid { display: none; }
J'ai fait face à la même question aujourd'hui:
Pour soulever la validation de la zone de texte ou tout autre champ, vous avez simplement besoin de ces deux lignes: p>
dans le contrôleur: dans la vue: et dans le web .config strong> p> modelstate.addmodelerror ("Erroremail" , "Message d'erreur"); code> p>
@ html.validationmessage ("erroremail") code> p>
input.input-validation-error {
border: 1px solid #e80c4d !important;
}
Ma validation.css était remplacée par Bootstrap. ! important corrigé le problème.
Ajouter à la fois des erreurs d'erreur de validation .Input et .input.input-validation-error-error. p>
J'ai eu ce problème moi-même. J'ai ajouté une nouvelle classe CSS au fichier site.css code> (ou quelle que soit la feuille de style que vous préférez).
textarea.input-validation-error {
border: 1px solid #e80c4d;
}
Je sais que c'est vieux, mais dans le cas où quelqu'un d'autre la recherche, assurez-vous que vous utilisez également après votre texte p> p>
Est de ne pas valider ou non soulignant i>? Si ce n'est pas en surbrillance, c'est probablement un problème CSS.
Il valonne mais ne mettant pas la surbrillance. CSS? Où je devrais regarder? Je ne suis pas sûr, seules les deux autres - DropdownlistFor et TextAreaFor montrent les cases rouges une fois que la validation échoue, mais pas la "zone de texte" que je voulais.
Le CSS par défaut sera dans
/content/site.css code> sauf s'il a été déplacé. Lorsque la zone de texte est dans un état non valide, regardez la source de la page - quelle classe (ES) est appliquée, etc.? Pour voir la source, je voudrais très i> vous recommander de vous familiariser avec les outils disponibles de votre navigateur. Firefox = Firebug, Chrome ou IE = Appuyez sur F12 pour des outils intégrés, Opera = Dragonfly, etc.
CSS est bon. Classe = "Erreur de validation d'entrée" est là après la publication dans les deux