Frage

In JSF ist es möglich, das folgende Validierung / Aktualisierung Szenario mit der Validation Framework von JSF (aka Validatoren, sofort, erforderlich, etc.) Zu lösen?

+-- Form ----------------------------------------------------+
|                                                            |
| Field A: |____________|v|                                  |
| Field B: |____________|v|                                  |
| Field C: |____________|v| Button: [Update C using A and B] |
| Field D: |____________|v| Button: [Update D using B and C] |
|                                                            |
| More Fields: ...                                           |
|                                                            |
| Button : [Submit All]                                      |
+------------------------------------------------------------+

Wenn alle Felder sind Drop-downs und wo die [Update C] -Taste drücken würden A nur dazu führen, B und C zu überprüfen, aber nicht den Rest, würde die [Update D] -Taste drücken nur dazu führen, Felder B, C und D zu validieren und die Taste [Senden Alle] -Taste würde dazu führen, alle Felder zu validieren.

War es hilfreich?

Lösung

Technisch ja, ist es möglich, dies mit Validatoren / sofort zu tun. Allerdings wäre es nicht besonders einfach sein.

Wenn Sie Validatoren hinzufügen, die Logik in [Update C mit A und B] wird nur dann ausgeführt, wenn alle Validatoren passieren oder wenn sein unmittelbares Attribut auf true gesetzt wurde. Wenn sein unmittelbares Attribut auf true gesetzt wurde, kann die Taste Logik liest nicht die eingereichten Komponentenwerte mit getValue oder jedes Objekt, die Komponente gebunden; es muss verwenden getSubmittedValue (schlechte Idee).

Ein besserer Ansatz wäre Ihre Validierungslogik in einer verwalteten Bean zu tun, auf die alle Steuerelemente gebunden sind. Sie können die Validierungslogik setzen in welchen Methoden, um Ihre Tasten gebunden sind. Verwenden Sie die [Eintrag All] , um in Ihrer Datenbank / Persistenzspeicher Ihre validierte Daten zu speichern / was auch immer.

Andere Tipps

Ich war in der Regel tun ähnliche Dinge mit Ajax, wo ich Teile vorlegen würde, der mich an den Server interessieren, validieren / Prozess dort und zurückgehen zu Seite. Auf der anderen Seite ist es eine vollständige Umgehung von JSF und es ist Validierungsmechanismen, so dass ich denke, es ist nicht wirklich das Klügste / optimale Lösung ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top