JSF-Validierung über Metadaten mit Apache MyFaces Extensions Validator

Projekt-Initiator Gerhard Petracek stellt die Ideen und Ziele des neuen metadatenbasierten Validierungsframework für JSF, Apache MyFaces Extensions Validator, vor.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Gerhard Petracek

Apache MyFaces Extensions Validator (aka MyFaces ExtVal) ist ein neues metadatenbasiertes Validierungsframework für JavaServer Faces (JSF). Das Framework ist ein Unterprojekt von MyFaces, der JSF-Implementierung unter dem Dach der Apache Software Foundation. Metadaten werden in Java durch Annotations realisiert und stellen eine moderne Alternative zu Konfigurationsdateien dar. Neben den mitgelieferten Annotations ermöglicht dieses neue Validierungsframework die Validierung von vorhandenen und neuen Annotations. MyFaces ExtVal bietet fortschrittliche Funktionen, welche in dieser Form bisher nicht für JSF verfügbar waren. Beispielsweise sind verschiedene Einschränkungen von JSF 1.x gelöst.

Validierung von existierenden Annotations

Unter anderem nutzt die Java Persistence API (JPA) Annotations, um in Java-Klassen Persistenz-Informationen zu definieren. Metadaten wie diese enthalten verschiedene Informationen, welche in einer JSF-Applikation für die Validierung erneut definiert und somit wiederholt werden mussten. Durch MyFaces ExtVal ist es möglich, in der Validierungsphase von JSF Informationen aus beliebigen Annotations transparent zu validieren. Zusätzliche Konfigurationen oder Angaben in der Seite selbst sind hierfür nicht erforderlich.

Validierung eigener Annotations

MyFaces ExtVal ist in vielen Bereichen leicht anpassbar und erweiterbar. Somit kann man nicht nur eigene Annotations validieren, denn MyFaces ExtVal ermöglicht den Aufbau einer eigenen Infrastruktur für die Validierung über Metadaten. Hierzu zählt auch die Möglichkeit eigener Annotations für komponentenübergreifende (somit auch klassenübergreifende) Validierung. Im Gegensatz zu Lösungen anderer metadatenbasierten Validierungsframeworks integriert sich auch dieser Mechanismus besser in den Lifecycle von JSF.

Überblick über die Hauptfunktionen

  • Erweiterbare und anpassbare Plattform für die JSF-Validierung über Metadaten
  • Komponentenübergreifende Validierung
  • Transparente Validierung von Annotations (inklusive JPA-Support)
  • Unterstützung von clientseitiger Validierung
  • Überwachung von Validierungsausnahmen
  • Zero Configuration (Konfiguration ist optional)

Aktueller Status und weitere Entwicklungen

Derzeit wird MyFaces ExtVal bereits produktiv in mehreren Web-Applikationen eingesetzt. Im nächsten Entwicklungszyklus erweitert das Entwickler-Team vor allem die Dokumentation. Wie bei allen Weiterentwicklungen des Frameworks stehen auch hier die Bedürfnisse der User im Mittelpunkt. Außerdem ist es geplant, durch ein eigenes Validierungsmodul den Bean-Validation-Standard (JSR 303) zu integrieren, der ein Metadaten-Modell beziehungsweise eine API für die Validierung von JavaBeans auf Basis von Annotations definiert. Die Metadaten werden bei der Spezifikation durch XML-Validierungsdeskriptoren überschrieben und erweitert. (Gerhard Petracek) (ane)