必須値およびimmediate属性について

required属性を使用すると、入力コンポーネントに値を指定する必要があるかどうかを指定できます。コンポーネントにNULL以外の値または1文字以上の文字列値が必要な場合は、required属性をtrueに設定します。

requiredtrueに設定されていてフォームが発行されたとき、入力コンポーネントの値がNULLまたは長さゼロの文字列の場合は、JSFによってデフォルトの検証エラー・メッセージが表示されます。requiredfalseに設定されているときは、値がNULLまたは長さゼロの文字列の場合、検証は実行されません。

required属性をtrueまたはfalseに設定し、同時にコンポーネントでネストされたバリデータを使用できます。しかし、requiredtrueで、発行された入力値がNULLまたは長さゼロの文字列の場合は、JSFによってそのコンポーネントが無効化され、エラー・メッセージがキューに入れられることに注意してください。コンポーネントに登録されているバリデータが他にある場合、それらのバリデータはコールされず、現在のページが再表示されます。このような場合、ネストされているバリデータがコールされるようにするには、requiredtrueに設定せずに、かわりにネストされたバリデータでNULLまたは長さゼロの文字列を処理してください。

ページに必須入力フィールドと「取消」ボタンのコマンド・コンポーネントがある場合は、ユーザーが必須フィールドに値を入力せずに「取消」をクリックすると、検証エラーが発生して現在のページが再表示されます。このような場合は、コマンド・コンポーネントのimmediate属性をtrueに設定して、コマンドがリクエスト値の適用フェーズ時に実行されるようにします。


変換および検証エラーについて
変換および検証プロセスについて
ADF Faces入力コンポーネントのrequired属性とimmediate属性について
JSFでのコンバータおよびバリデータの使用