MVC4-Validierung mit razor und twitter bootstrap
Muss ich bestätigen meine Eingabe in MVC4-Rasierer. Das problem ist, will ich mit twitter bootstrap und dann legen Sie die error-message-Klasse für die top - div
wie hier zu sehen: http://getbootstrap.com/css/#forms-control-states
Wie kann ich das ändern das übergeordnete div
's Klasse?
InformationsquelleAutor Knerd | 2013-08-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, das script?
http://blog.ijasoneverett.com/2013/05/asp-net-mvc-validation-with-twitters-bootstrap/
Ich benutze etwas ähnliches für die erste bootstrap-und mvc-Validierung zu spielen schön
InformationsquelleAutor Slicksim
Die akzeptierte Antwort, die notwendigen Modifikationen für die Arbeit mit Bootstrap 3. Ich habe das folgende mit Erfolg mit MVC 4 und Bootstrap 3.
InformationsquelleAutor Ben Ripley
Ändern validator defaults:
Erstellen Sie eine neue Validierung Zusammenfassung teilweise (so haben Sie die vollständige Kontrolle über markup):
Fügen Sie einen Stil, um Ihr CSS zu verstecken, die Validierung Zusammenfassung auf der ersten laden, ohne zu hängen, client-side-scripting, um es zu verstecken nach der Tat):
Und machen Ihre alternative Validierung Zusammenfassung Ihrer Ansicht nach anstelle von @Html.ValidationSummary():
Und du bist gut zu gehen. Oh, und das schöne styling für checkbox und radio, je nach Ihrem setup, das Skript zu fangen, aber die einfachste ist, einfach ändern Sie Ihre also Boolean.cshtml teilweise zu sein, wie die folgenden (wobei Html.FormGroupFor ist nur eine leicht aktualisierte version von https://github.com/erichexter/twitter.bootstrap.mvc/blob/master/src/Bootstrap/BootstrapSupport/ControlGroupExtensions.cs - ändern Sie einfach "control-group" Referenzen "form-group" und fügen Sie " controlGroupWrapper.AddCssClass("muss-Fehler");" on line 58 ' ish):
Alle der oben genannten ist die Zusammenstellung verschiedener Lösungen, die ich gefunden habe, die aus vielen verschiedenen Orten, die haben die richtige Mischung. Ben ' s Lösung oben funktioniert, aber es macht einen fair-bit-client-Seite, die Ursachen einer Abweichung, wenn eine Methode, in der es aufgerufen wird (z.B. post, laden der Seite, Validierungs-Fehler). Das vorstehende gilt allen, die Sie benötigen, ohne dass Sie alle, die DOM-looping.
Den verschiedenen Antworten auf Bootstrap 3 mit jQuery Validation Plugin decken viele der oben genannten (und Anerkennung für ein bedeutsames Stück der oben genannten zu den verschiedenen Plakaten gibt, obwohl niemand die Antwort deckt es alle).
InformationsquelleAutor Ted
Lösung
Gehören zuletzt:
Derzeit in jquery.validate.unobtrusive.js der folgende code zeigt, wie MS erlaubt für die Verlängerung selbst:
Können Sie grundsätzlich überschreiben/erweitern Sie die folgenden Optionen:
Er tut dies, indem man die Globale variable
$.validator.unobtrusive.options
(die nicht vorhanden ist, es sei denn, Sie machen es).defaultOptions
eingestellt ist$.validator.unobtrusive.options
undexecInContext
ist eine Methode, die feststellt, das anwendbare Methode in$.validator.unobtrusive.options
und führt es mit der ursprünglichen Argumente (so, dass die original-MS-Methode nicht verändern).InformationsquelleAutor Alex
Ich möchte hinzufügen, dass die Klasse auf der server-Seite, und nicht client-Seite, also, meine Lösung ist nicht javascript (in meinem Fall, es ist ein einfaches system mit nur 2 oder 3 Felder auf dem Formular).
Dies ist die Verwendung der gleichen Struktur, von Form -> Validierung Staaten von Bootstrap-Dokumentation in http://getbootstrap.com/css/#forms-control-validation
Zuerst habe ich eine
Html Helper
um zu überprüfen, ob der ModelState Valide ist und wenn ein Fehler auf dem Spielfeld, die einen string zurückgeben (Klasse name). Ich konnte dies getan haben, direkt auf der Ansicht, aber ich mag eine sauberere Ansicht. Also, meine Klasse:Importe:
Nun, meiner Ansicht nach, ich muss nur um die Klasse zu verwenden, wie:
InformationsquelleAutor Roberto Correia