Rich UI は、ビジネス・ソフトウェアで従来から行われている種類の書式処理を実装する方法を提供します。処理は、単一ビュー (ウィジェット) を単一モデル (データ・フィールド) に関連付ける定義である Rich UI コントローラーに依存しています。Rich UI コントローラーの詳細については、『Rich UI の検査およびフォーマット設定』を参照してください。
書式マネージャーとの対話は、コードの記述、または Rich UI エディターが提供するコードを使用することにより行います。
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 }
]};
検証書式を使用する場合、書式フィールドでは displayName 値と controller 値のみを指定します。残りの値は、検証書式自体によって処理されます。
いずれの場合でも、それぞれの書式フィールドを順番に処理する関数を呼び出します (例えば、書式全体の検証)。
書式フィールドは、それ自体データの集合 (FormField 型のレコード) です。レコードの使用方法は、書式マネージャーの場合と検証書式の場合で異なります。それらのメカニズムの両方に単一のレコード・タイプを使用することにより、2 つのメカニズム間で簡単に切り替えることができます。
次の表に示されているように、使用目的に適したレコード・フィールドを設定します。
| タイプ FormField のレコード内のフィールド | フィールド値 | コンテキスト | 詳細 |
|---|---|---|---|
| controller | コントローラー | 書式マネージャーまたは検証書式 | コントローラーは、ビューをモデルに関連付ける定義です。 |
| displayName | String? | 検証書式 | 検証書式によって提供されるフィールド・ラベルにストリングが割り当てられます。書式マネージャーを使用している場合、そのストリングは無視されます。 |
| errorLabel | TextLabel | 書式マネージャー | errorLabel という名前のテキスト・ラベルはエラー・フィールドです。書式フィールドの検証中に出力されるエラー・メッセージが表示されます (ある場合)。エラー・フィールドの外観は、エラー発生時に変更されます。 書式マネージャーを使用している場合は、書式フィールドを宣言するときにテキスト・ラベルを指定します。ただし、検証書式を使用している場合は、テキスト・ラベルは自動的に指定されます。 |
| nameLabel | TextLabel | 書式マネージャー | 書式フィールドのラベル。検証書式を使用している場合、この設定は無視されます。検証書式は、ラベルを提供し、そのラベルに displayName 値を割り当てます。 |
| labelClass | String? | Rich UI で使用 | CSS クラス。この値は変更しないでください。これは、エラーが解決された後で書式フィールド・ラベルを元の外観に変更するために使用されます。 クラス名は EglRuiTextLabel です。エラー発生時にも同じクラス名が使用されますが、2 次クラス FormErrorLabel が追加されます。 |
検証書式を処理する場合は、controller 値と displayName 値を指定します。 書式マネージャーを処理する場合は、controller 値と nameLabel 値、およびオプションで errorLabel 値を指定します。
書式レベル関数はコントローラー固有の関数を呼び出します。呼び出しの順序は、entries 配列の書式フィールドの順序とは逆になります。
if (employeeForm.isValid())
employeeForm.commit();
end
検証の最後にコントローラー自体がコントローラー固有の validStateSetter 関数を呼び出します。
if (employeeForm.isValid())
if (myValidation())
employeeForm.commit();
end
end
以下に、書式レベルの関数をアルファベット順に示します。
この関数には、パラメーターや戻り値はありません。
この関数には、パラメーターや戻り値はありません。
この関数にはパラメーターはなく、検証が成功したかどうか (つまり、すべてのコントローラー固有の validate 関数がヌルまたはブランクのどちらを返したか) を示すブール値が返されます。