Par défaut Html.ValidationSummary() produit HTML comme ceci:Autour d'un ValidationSummary avec une boîte via CSS
<span class="validation-summary-errors">There were some errors...</span>
<ul class="validation-summary-errors">
<li>First Name too long</li>
<li>Invalid Email Address</li>
</ul>
Je voudrais sélectionner le résumé de toute validation et ajouter un cadre de sélection autour d'elle via CSS, donc je suis d'ajouter une classe CSS comme ceci:
.validation-summary-errors{
background-color:#D9FFB2;
border: 1px solid #5CBA30;
color:#000000;
margin-top:15px;
margin-bottom:15px;
}
maintenant, le problème est que cela attire des boîtes séparées autour du message récapitulatif de validation et chaque message d'erreur. Certainement pas ce que j'avais en tête.
je peux ajouter un div autour du résumé comme ça, mais cela se traduira par une boîte rouge vide s'il n'y a pas d'erreurs de validation, donc ce n'est pas ainsi:
<div class="my-validation-summary">
<h2>
<%=Model.Message%>
</h2>
<%= Html.ValidationSummary("There were some errors...")%>
</div>
Je peux penser à plusieurs façons de résoudre ce:
- Ajouter un div englobante conditionnellement avec des balises côté serveur
- Ajouter un div englobante via jQuery
- écrire ma propre e wrapper HtmlHelper à l'impression un ValidationSummary CSS-friendly
Cependant, tout cela semble assez gênant pour résoudre une tâche aussi simple. Il doit y avoir une meilleure façon de faire cela. Peut-être une autre façon d'écrire la classe CSS, donc je ne reçois pas une boîte vide quand il n'y a pas de résumé de validation?
Edit: Juste pour clarifier les choses, j'appelle l'aide html comme ceci:
<%=Html.ValidationSummary("There were some errors...") %>
Edit 2: était de voir la portée de cette question de savoir si je négligé mort facile quelque chose et évident. Il semble que je n'ai pas, donc je vais simplement ajouter ma propre fonction HtmlHelper qui correspond à mes besoins. Je vote pour clore ma propre question.
Avez-vous personnalisé votre contrôle de résumé de validation? Il ne rend pas la même chose par défaut que vous l'avez posté. – RSolberg
Non, j'utilise simplement la méthode ValidationSummary de surcharge (voir la première édition ci-dessus) - Adrian Grigore il ya 13 secondes –
J'aime la façon dont la source MVC est disponible - ouvrez-le et écrivez le vôtre. bonne chance –