2012-04-18 22 views
0

JSFを学び、JSF 1.2でカスタムコンポーネントを作成し始めました。 JSFの「必須」属性がどのように機能するかについて、誰かが気をつけてください。私は生成されたHTMLを見て、それは何も必要と表示されません。カスタムコンポーネント必須属性

複数の入力テキストを使用してJSFコンポーネントを作成していますが、そのうちのいくつかのみが必要です(たとえば、2入力テキストのZipcodeコンポーネントの書き込み、最後の入力テキストは常にオプションですが、最初の入力テキストは必須属性XHTMLで定義された。私はそのような選択 "に必要な行動を処理するにはどうすればよい

答えて

1

コンポーネントの必要な属性がONLYサーバー側に保存され、クライアントはフィールドがデフォルトで必要とされるのない考えを持っていません。いつ必要なフィールドが空のフォームを投稿すると、JSFはフィールドをそのサーバー側モデルと比較し、そこから検証を行い、空の必須フィールドのエラーメッセージを表示しますs。 JSFライフサイクル(これはサーバー側でのみ処理されます)でこれを確認できます。必須フィールドが空の場合、ライフサイクルはステップ3で停止し、モデルの更新はスキップされます。

  1. ビューを復元要求値を適用します。プロセスイベント
  2. プロセスの検証。プロセスイベント
  3. モデル値を更新します。プロセスイベント
  4. アプリケーションを起動します。プロセスイベント
  5. はあなたの2番目の質問について回答

をレンダリングし、入力テキストの数が静的なものである場合、あなたは単にrequired="true"にそれらのいくつかを設定し、required="#{cc.attrs.required}"にはいくつかのことができます。

関連する問題