Um ein ValidationSummary-mit einer box über CSS

Durch Standard-Html.ValidationSummary() erzeugt HTML so:

<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>

Möchte ich wählen Sie die gesamte Validierung Zusammenfassung und fügen Sie einen Begrenzungsrahmen um es per CSS, so dass ich bin das hinzufügen einer CSS-Klasse wie folgt aus:

.validation-summary-errors{
background-color:#D9FFB2;
border: 1px solid #5CBA30;
color:#000000;
margin-top:15px;
margin-bottom:15px;
}

Nun das problem ist, dass das zieht die separaten Boxen, um die Validierung Zusammenfassung Mitteilung und jeder Fehlermeldung. Sicherlich nicht das, was ich im Sinn hatte.

Kann ich fügen Sie ein div um die Zusammenfassung wie diese, aber dies führt in eine leere rote box, wenn es keine Fehler bei der Validierung, also das ist nicht der Weg:

  <div class="my-validation-summary">
        <h2>
            <%=Model.Message%>
        </h2>
        <%= Html.ValidationSummary("There were some errors...")%>
    </div>

Ich denken kann, mehrere Möglichkeiten, um dieses Problem zu lösen:

  • Fügen Sie ein umschließendes div bedingt mit server-side tags
  • Fügen Sie ein umschließendes div via jQuery
  • Schreibe meine eigenen HtmlHelper wrapper, druckt eine CSS-freundliche ValidationSummary

Jedoch, all dies sieht ziemlich peinlich für die Lösung einer so einfachen Aufgabe. Es muss einen besseren Weg, dies zu tun. Vielleicht einige andere Schreibweise der CSS-Klasse damit ich nicht bekommen ein leeres Feld, wenn keine Validierung Zusammenfassung?

Edit: Nur um zu klären, rufe ich die html-Helfer wie diese:

<%=Html.ValidationSummary("There were some errors...") %>

Edit 2: Den Rahmen dieser Frage war es, zu sehen, ob ich etwas übersehen tot-einfach und offensichtlich. Es scheint habe ich nicht, also werde ich einfach mein eigenes HtmlHelper Funktion, die genau meinen Anforderungen. Ich Stimme zu schließen, meine eigene Frage.

  • Haben Sie gestalten Ihre Validierung Zusammenfassung die Kontrolle? Es nicht dazu, dass die gleiche Art von Standard-als du gepostet hast, tut es.
  • Nein, ich bin nur mit der überlastung ValidationSummary-Methode (siehe edit oben) – Adrian Grigore 13 Sekunden vor
  • Ich Liebe es, wie das MVC-Quelle verfügbar ist, öffnen Sie es und schreiben Sie Ihre eigenen. viel Glück
Schreibe einen Kommentar