Sichtbarkeit

Validierer können auch dazu verwendet werden, die Sichtbarkeit und Editierbarkeit von Komponenten zu steuern. Dazu gibt es in der XML-Definition die Elemente visible und readonly, die wie das validator-Tag eine Validierer-Struktur enthalten.

Der aktuelle Wert der Komponente wird wie bei der "normalen" Validierung, als Eingabe in die Validierer-Hierarchie übergegeben. Da für die Sichtbarkeit einer Komponente meist die Werte anderer Komponenten maßgeblich sind, gibt es das Element referred-component. Der ReferredComponentValidator reicht nicht den empfangenen Wert zur Validierung weiter, sondern den Wert der darin referenzierten Komponente. Die untergeordnete Validiererstruktur wertet dann diesen Wert aus.

Die zweite Komponente ist in diesem Beispiel nur sichtbar (not hidden), wenn in der ersten Komponente der Wert "other" ausgewählt ist. Die dritte Komponente ist nur editierbar, wenn die zweite sichtbar ist und dort kein Wert ausgewählt ist. Das Tag visible stellt dabei einen Validierer dar, der den aktuellen Sichtbarkeitsstatus der Komponente auswertet.

Damit die ausgewählten Werte der ersten beiden Komponenten in der Ziel-Komponente "color3" ankommen, gibt es dort einen Kalkulator, der abhängig von der eignen Editierbarkeit und der Sichtbarkeit der zweiten Komponente, deren Werte übernimmt. Die Anzeige der ausgewählten Farbe erfolgt in der letzten Komponente anhand des concat-Kalkulators, der ein Html-Fragment erzeugt, dass über den OutputRenderer eingebunden wird.

Formular
*
*
*
*