[Seasar-user:2397] Re: [S2JSF] 他の入力値を参照するvalidator

Yasuo Higa higa
2005年 7月 20日 (水) 13:11:05 JST


<068401c58cba$9ee460e0$[E-MAIL ADDRESS DELETED]> の、
   "[Seasar-user:2394] Re: [S2JSF]他の入力値を参照するvalidator" において、
   "[E-MAIL ADDRESS DELETED]"さんは書きました:

ひがです。

> 米林です

> > MyFaces の validateEqualのように、id で指定できれば嬉しいです。
> →上記のやり方とは異なりますが、参考までに下記で他の入力値は取得出来ます。
>  form の id にも依存してしまいますが。
> 
> 下記のようなHTMLで
> <form id="frm">
> <input type="text" id="equal2" m:validator="#{hoge.check}" />
> <input type="text" id="equal" />
> </form>
> 
> hoge クラスに以下を定義し formid:要素id で取得出来ます
> 
> public void check(FacesContext context, UIComponent component, Object value)
>         throws ValidatorException {
>   Map map = context.getExternalContext().getRequestParameterMap();
>   String equal = (String)map.get("frm:equal");
>   // value には equal2 の入力値
>   if(!value.equals(equal)){
>     FacesMessage mes = new FacesMessage(
>        FacesMessage.SEVERITY_ERROR, "不一致", "一致しませんよ");
>     throw new ValidatorException(mes);
>   }
> }

米林さんのやり方のようにして、他のタグのidは、Validatorの
プロパティで設定するようにすればOKです。
---
ひがやすを(http://d.hatena.ne.jp/higayasuo/)



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