Cross-Field-Validierung mit Inline-Messaging in JSF mit JSR 303

8

Wie können JSR-303-Einschränkungen auf Klassenebene, die eine Feldüberprüfung von JSF durchführen und die daraus resultierenden Nachrichten in eine FacesMessage übersetzt und mit einer bestimmten JSF-Komponente basierend auf dem PropertyPath in ConstraintViolation verknüpft werden, am besten aufgerufen werden?

rich: graphValidator ist geschlossen, aber es verwendet den PropertyPath nicht. Vielleicht könnte MyFaces extval mich näher bringen, aber es scheint eine ganze zusätzliche Ebene des Frameworks zur Zeit der Bean-Validierung zu geben, also habe ich es vermieden.

Hier ist ein einfaches Beispiel:

%Vor%

Erstellen Sie ein Formular, in dem die Informationen über das Fahrzeug und den Fahrer eingegeben werden. Wenn der Fahrer einen Lizenztyp von ROAD hätte und das Auto einen Autotyp von RACE hätte, wäre es ideal, wenn eine resultierende Validierungsnachricht in eine FacesMessage übersetzt wird, die mit der Eingabe für den Lizenztyp verbunden ist, da die Nachricht hinzugefügt wurde zu diesem Knoten mit der fließenden API von Bean Validierung.

    
ghilton 12.04.2011, 17:15
quelle

1 Antwort

0

Unser Team hatte das gleiche Problem. Sie können sich OmniFaces ansehen. Ich habe Code von den Validatoren als Vorlage benutzt, um einen Prototyp zu bauen, der Reflektion benutzt, um die Validatoren auf Klassenebene aufzurufen.

    
rogergl 18.07.2012 09:20
quelle