Rich-UI stellt eine Möglichkeit bereit, die Art von Formularverarbeitung zu implementieren, die in Geschäftsanwendungssoftware traditionell zum Einsatz kommt. Die Verarbeitung hängt vom Rich-UI-Controller ab, durch den definiert wird, wie eine einzelne Anzeige (d. h. ein Widget), mit einem einzelnen Modell (d. h. einem Datenfeld) verbunden ist. Details zu Rich-UI-Controllern finden Sie im Abschnitt “Rich-UI - Validierung und Formatierung”.
Sie interagieren mit einem Formularmanager, indem Sie Code schreiben oder Code verwenden, den der Rich-UI-Editor für Sie bereitstellt.
employeeForm FormManager { entries = [
new FormField { nameLabel="Name:", controller=nameController },
new FormField { nameLabel="Age:", controller=ageController },
new FormField { nameLabel="Salary:", controller=salaryController }
]};
employeeForm ValidatingForm { entries = [
new FormField { displayName="Name:", controller=nameController },
new FormField { displayName="Age:", controller=ageController },
new FormField { displayName="Salary:", controller=salaryController }
]};
Bei Verwendung eines Validierungsformulars geben Sie nur die Werte displayName und controller in einem Formularfeld an. Die übrigen Werte werden von dem Validierungsformular selbst bereitgestellt.
In beiden Fällen rufen Sie Funktionen auf, die jeweils die Formularfelder der Reihe nach verarbeiten, zum Beispiel um das Formular als Ganzes zu validieren.
Ein Formularfeld ist selbst eine Datensammlung, d. h. ein Datensatz vom Typ 'FormField'. Der Datensatz wird bei einem Formularmanager anders als bei einem Validierungsformular verwendet. Die Verwendung nur eines Datensatztyps für beide dieser Mechanismen bedeutet, das problemlos zwischen den beiden umgeschaltet werden kann.
Sie legen die für Ihren Zweck geeigneten Datensatzfelder fest, die in der folgenden Tabelle aufgeführt sind.
| Feld im Datensatz vom Typ 'FormField' | Feldwert | Kontext | Details |
|---|---|---|---|
| controller | Controller | Formularmanager oder Validierungsformular | Der Controller ist eine Definition, durch die eine Anzeige einem Modell zugeordnet wird. |
| displayName | String? | Validierungsformular | Die Zeichenfolge wird einer Feldbezeichnung (bzw. Feldkennsatz) zugeordnet, die vom Validierungsformular für Sie bereitgestellt wird. Die Zeichenfolge wird ignoriert, wenn Sie einen Formularmanager verwenden. |
| errorLabel | TextLabel | Formularmanager | Die Textbezeichnung mit dem Namen errorLabel ist das
Fehlerfeld. Sie zeigt die Fehlernachricht an (sofern zutreffend), die während der Validierung eines
Formularfelds ausgegeben wird. Die Darstellung des Fehlerfelds ändert sich, wenn ein Fehler auftritt. Wenn Sie einen Formularmanager verwenden, geben Sie die Textbezeichnung bei der Deklaration des Formularfelds an. Wenn Sie jedoch ein Validierungsformular verwenden, wird die Textbezeichnung für Sie bereitgestellt. |
| nameLabel | TextLabel | Formularmanager | Eine Formularfeldbezeichnung. Die Einstellung wird ignoriert, wenn Sie ein Validierungsformular verwenden, das eine Bezeichnung bereitstellt und den Wert von displayName dieser Bezeichnung zuordnet. |
| labelClass | String? | Zur Verwendung durch Rich-UI | Eine CSS-Klasse. Ändern Sie diesen Wert nicht, da er verwendet wird, um die
Formularfeldbezeichnung wieder in ihre ursprüngliche Darstellung zu ändern, wenn ein Fehler behoben wurde. Der Klassenname ist 'EglRuiTextLabel'. Derselbe Klassenname wird verwendet, wenn ein Fehler auftritt, jedoch unter Hinzufügung der folgenden sekundären Klasse: FormErrorLabel. |
Wenn Sie mit einem Validierungsformular arbeiten, geben Sie die Werte für controller und displayName an. Wenn Sie einem Formularmanager arbeiten, geben Sie die Werte für controller und nameLabel und optional den Wert für errorLabel an.
Die Funktionen auf Formularebene rufen controllerspezifische Funktionen auf. Die Reihenfolge der Aufrufe ist umgekehrt zur Reihenfolge der Formularfelder in der Feldgruppe entries.
if (employeeForm.isValid())
employeeForm.commit();
end
Der Controller selbst ruft eine controllerspezifische Funktion validStateSetter am Ende der Validierung auf.
if (employeeForm.isValid())
if (myValidation())
employeeForm.commit();
end
end
Nachfolgend sind die Funktionen auf Formularebene in alphabetischer Reihenfolge aufgeführt:
Die Funktion hat keine Parameter und keinen Rückgabewert.
Die Funktion hat keine Parameter und gibt einen booleschen Wert zurück, um anzugeben, ob die Validierung für alle Formularfelder erfolgreich war oder nicht. Der Unterschied zwischen dieser Funktion und 'isValid()' ist, dass diese Funktion keine Änderungslistener für gültigen Status benachrichtigt.
Die Funktion hat keine Parameter und keinen Rückgabewert.
Die Funktion hat keine Parameter und gibt einen booleschen Wert zurück, um anzugeben, ob die Validierungen erfolgreich waren oder nicht (d. h., ob alle controllerspezifischen Funktionen des Typs validate den Wert 'null' oder einen leeren Wert zurückgegeben haben).