Ich arbeite an einem großen Formular, das ich suche, um die Benutzerfreundlichkeit zu verbessern, indem es in einen jQuery-Formular-Assistenten (jQuery-Registerkarten) unterteilt.ASP.NET MVC Behandlung Serverseite Validierung auf jQuery Form Wizard/Tabs
Ich habe bereits sowohl die clientseitige Validierung als auch die serverseitige Validierung implementiert. Die clientseitige Validierung wird in jedem Registerkartenbereich durchgeführt, bevor zum nächsten Registerkartenbereich gewechselt wird, und die serverseitige Validierung wird nur durchgeführt, sobald das Formular auf dem Server veröffentlicht wurde.
Die Sache, mit der ich Probleme habe, ist, wie man serverseitige Validierungsfehler am besten behandelt. Wenn das Formular derzeit auf dem Server veröffentlicht wird, gibt es das Formular zurück und zeigt alle Fehler an. Dies funktioniert jedoch nicht gut mit jQuery-Registerkarten, da das Registerkarten-Panel nach der Rückgabe des Formulars wieder in den Standardzustand zurückgesetzt wird.
Wenn das Formular serverseitige Validierung fehlschlägt, wie lade ich das Formular neu und zeige automatisch das Registerfeld, in dem sich die Eingaben befinden, bei denen die serverseitige Validierung fehlgeschlagen ist. Nehmen wir zum Beispiel an, ich habe drei Registerkarten in meinem Formularassistenten. Wenn eine Eingabe in der dritten Registerkartengruppe die serverseitige Überprüfung nicht bestanden hat, lade ich das Formular mit der dritten angezeigten Registerkarte erneut.
Ich habe versucht, die von Assistenten Server-Seite, wo jeder Abschnitt hat seine eigene Ansicht und Controller Aktion jedoch jedoch mit diesem Ansatz ist es viel schwieriger, eine Navigationsleiste zu erstellen zwischen dem Formularabschnitt zu erstellen.
Dies ist kein triviales Problem, da es viele mögliche Szenarien sind. Zum Beispiel könnten Sie Fehler auf den Tabs 2 und 3 haben. Was dann? Mein Vorschlag zu Ihnen ist, Html.ValidationSummary zu verwenden, das oben auf der Seite zum Beispiel angezeigt würde und sich dann auf Benutzer verlassen würde, um das passende Tab zu finden, oder Sie können Validierungszusammenfassungsmitteilungen anpassen, um den Link zum Tab vielleicht zu enthalten? – Marko
Ich würde lieber Validierungszusammenfassung vermeiden, da die Anzahl der Eingaben, die ich habe, die Dinge für den Benutzer schwieriger machen würde. – user2488275