[Seasar-user:6515] Re: [Teeda]validationエラー時のConditionについて

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2007年 3月 6日 (火) 16:36:21 JST


大谷です。

> validationエラーとなった場合のRendereフェーズ内で、
> HogePage#isAaa()メソッドが呼び出されないのですが、
> 正しい動きでしょうか?

はい。Validationにかかったときには、呼ばれません。
JSFでは入力値がModel(ここではPageクラス)に反映されるのは、
常にValidationが通った後(UpdateModeフェーズ)になります。
Validationにかかるということは、システムとして許可できない入力があるため、
前回の値の内容を復元した上で同一画面を表示するようになっています。

というわけで、残念ながらConditionの値はValidationに
かかった場合は前回の内容が復元されるだけで、
isAaa()が呼ばれることもありません。

07/03/06 に 関 真理子<[E-MAIL ADDRESS DELETED]> さんは書きました:
> いつもお世話になっております。関です。
>
> Teeda-extension 1.0.5を使用しています。
>
> validationエラー時のConditionの描画について質問です。
>
> validationエラーとなった場合のRendereフェーズ内で、
> HogePage#isAaa()メソッドが呼び出されないのですが、
> 正しい動きでしょうか?
>
> [補足]
> 他の入力項目のgetterも呼び出されないのですが、
> これは、Pageの値で上書きせず、画面で入力した値を保持するためかと思います。
>
> Conditionも、出力されたHTMLにはhiddenで値が保持されているので、
> Pageの値で上書きせず、表示した状態で維持させる
> という動きになるようでしょうか?
>
>
> 現在作成中の案件で、
> エラーメッセージの有無で画面表示を分岐させようとしております。
> ([Seasar-user:6347]で教えていただいた内容を参考に、
> ErrorMessageFinderを使用して、prerender内で判定しようと思っております。)
>
> そこでConditionを使用しようとしたのですが、
> 肝心なvalidationエラー時にうまく動作させられず。。
>
> DinamicPropertyで"display:none;"を使用するやり方
> で回避しようと思いますが。
>
>
> 以上です。
> --
> 関真理子 <[E-MAIL ADDRESS DELETED]>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


-- 
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================



Seasar-user メーリングリストの案内