Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

PrimeFacesで必須入力バリデーションを回避する方法

プロトタイプの開発とはいえ、実際に実装してみると細かい所でつまづきます。
今日はバリデーションとその評価に関するつまづきです。画面コンポはPrimeFacesを使っています。

ある画面のいくつかの項目は必須入力で、required="true"としていますが、ログオフのCommandLinkや保存せずに前画面に戻るキャンセルボタンのCommandButtonなどを押下して「必須入力項目が入力されていません!」と怒られるのはアウトです。

必須入力を回避するには…と検索していたところ
http://stackoverflow.com/questions/11243652/how-to-invoke-a-command-button-without-validating-all-required-inputs
とありました。

PrimeFacesのcommandButtonやcommandLinkにある属性「immediate」をfalseにするとのこと。
実際に試してみると上手く動きました。

ドキュメントを読むと、フェーズを決めるためのものらしいです。JSFのライフサイクルのことでしょうか。
とりあえず動かしたけれど、もう少し調べて、内部的にどうなてちるのか理解する必要がありそうです。

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ Javaへ
にほんブログ村