これは問題です.JSFの検証では、フィールドを最後の既知の値に戻し続けます。UIInputコンポーネントのJSF検証をバイパスします
バッキングBeanに既に値が設定されているページを編集しています。 (頻度= "毎週")
そして、値が検証に合格しなくても、デフォルト値の「選択してください」を表示する必要があります(はい、私はちょうどエラーメッセージ)。
「選択する」を選択して最後の良好な値にリセットする方法はありませんか?
ユーザーは明らかに保存することはできませんが、無効な値を選択したままにします。
- ユーザーは、ユーザーが正常に保存されます
- ドロップダウンから適切な値を選択し、新しいオブジェクトを追加します。
- ユーザーがクリックし、「編集」と表示され、既知の値で
- ユーザーが「週刊は」
- ユーザーのクリックを保存「を選択する」に変更(「週刊」)オブジェクト
- 検証メッセージが表示される(良い)が、周波数が行きます
immediate = "true"はinputComponentsでは機能しません。ただし、 "weekly"の最後の値に戻っています(悪い、私はそれを選択してください。コマンドコンポーネント。
ありがとうございました! 私はこれをちょっと試してみましたが、ユーザーが「送信」をクリックすると値は戻ってしまいます。それとも、ページ全体がサブミット後にレンダリングされたときにレンダリングされますか(私はそう思わないでしょう) – Eddie
それにもajaxを使用してください。必要なら 'ids'に' render'と一緒に 'h:commandButton'の中に' 'を入れてください。 –
BalusC
これはライブフィードバックの便利なトリックであり、間違いをすぐに表示します。 でも、私のコマンドボタンのajaxでrender = "messageList"(私はボタンの上にある単一のメッセージボックスを使用します)を保存するアクションは、メッセージリストをまだ有効化前の値に戻します。 ..... 「この値は必須で、設定されていない場合は前の値に戻ります」というライブメッセージを作成することもあります – Eddie