[cubby-user:126] Re: バリデーションについて

Hiroshi Yamamoto [E-MAIL ADDRESS DELETED]
2009年 3月 29日 (日) 21:54:43 JST


馬場さん

こんにちは、山元です。
お世話になってます。

コードサンプルありがとうございます!
なるほどこういうやり方が出来たんですね。
このサンプルを参考にして実装したいと思います。

以上、よろしくお願いいたします。


2009/03/29 5:26 BABA,Yasuyuki <[E-MAIL ADDRESS DELETED]>:
> 馬場です。
>
> RequiredValidator などの Cubby が用意しているバリデータを条件つきで呼び
> 出したいということですか?
> それであれば、以下のようなコードで可能です。
>
> add(new ValidationRule() {
>        public void apply(Map<String, Object[]> params, Object form,
>                        ActionErrors errors) throws ValidationException {
>
>                RegisterDto registerDto = (RegisterDto) form;
>                String type = registerDto.getType();
>                ValidationContext validationContext = new ValidationContext();
>                if ("A".equals(type)) {
>                        new RequiredValidator().validate(validationContext,
> registerDto.getName());
>                        if (!validationContext.getMessageInfos().isEmpty()) {
>                                throw new ValidationException(new Redirect("/errorpage"));
>                        }
>                }
>        }
> });
>
> RegisterDto の type が "A" のときだけ name を RequiredValidator でチェッ
> ク、エラーなら "/errorpage" にリダイレクトする、というコード例です。
> (typo などあったらごめんなさい)
>
> ただ、相関チェックの目的であれば Cubby のバリデータよりも自前のコードで
> チェックするほうがわかりやすいかとも思います。
>
> if ("A".equals(type)) {
>        String name = registerDto.getName();
>        if (name == null || name.length == 0) {
>                throw new ValidationException(new Redirect("/errorpage"));
>        }
> }
>
>
> Hiroshi Yamamoto さんは書きました:
>> お世話になっております。
>> 山元と申します。
>>
>> CubbyのActionメソッド内や、ValidationRuleの実装内などで
>> 手動でバリデーションを呼び出すことは可能でしょうか。
>>
>> 条件付きのバリデーションや、エラーによって遷移先を動的に変更したい場合の
>> 処理を意図しています。
>>
>> 以上、よろしくお願いいたします。
>> _______________________________________________
>> cubby-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/cubby-user
>
>
> --
> BABA,Yasuyuki
> [E-MAIL ADDRESS DELETED]
> _______________________________________________
> cubby-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/cubby-user
>


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