[Seasar-user:7719] Re: [Teeda] Validatorでチェックする桁数を可変にしたい

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2007年 5月 21日 (月) 09:46:30 JST


大谷です。

下記、もう少し良いやり方も検討してみます。
宜しくお願いします。

07/05/19 に 松崎 学<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 大谷さん
>
> 松崎です、お世話になります。
> 返信ありがとうございます。試してみます!
>
> On Fri, 18 May 2007 17:11:00 +0900
> "Shinpei Ohtani" <[E-MAIL ADDRESS DELETED]> wrote:
>
> > 大谷です。
> >
> > あまりキレイでは無いですが、
> > 下記のようにすればできます。
> >
> > 肝なところは、TeedaExtensionでは
> > 定数またはTigerアノテーションで記述したValidatorは
> > 内部的にEL式(#{コンポーネント名.プロパティ名})の形で
> > saveされています。
> >
> > そのため、initialize()で直接Validatorを管理しているところに
> > addするようにしておいて、その前に動くLogicをかませば
> > 動的にValidatorのプロパティを決定することが出来ます。
> >
> >
> > package examples.teeda.web.add;
> >
> > import javax.faces.internal.ValidatorResource;
> >
> > import org.seasar.framework.convention.NamingConvention;
> > import org.seasar.teeda.extension.validator.TRequiredValidator;
> >
> > public class AddPage {
> >
> >       // public static final String arg1_TGreaterThanConstantValidator = null;
> >
> >       // public static final String arg2_TGreaterThanConstantValidator = null;
> >
> >       private int arg1;
> >
> >       private int arg2;
> >
> >       private int result;
> >
> >       private NamingConvention namingConvention;
> >
> >       public String initialize() {
> >               String componentName = namingConvention
> >                               .fromClassNameToComponentName(this.getClass().getName());
> >               ValidatorResource.addValidator("#{" + componentName + ".arg1}",
> >                               new TRequiredValidator());
> >               ValidatorResource.addValidator("#{" + componentName + ".arg2}",
> >                               new TRequiredValidator());
> >               return null;
> >       }
> >
> >       public int getArg1() {
> >               return arg1;
> >       }
> >
> >       public void setArg1(int arg1) {
> >               this.arg1 = arg1;
> >       }
> >
> >       public int getArg2() {
> >               return arg2;
> >       }
> >
> >       public void setArg2(int arg2) {
> >               this.arg2 = arg2;
> >       }
> >
> >       public int getResult() {
> >               return result;
> >       }
> >
> >       public void setResult(int result) {
> >               this.result = result;
> >       }
> >
> >       public String doCalculate() {
> >               result = arg1 + arg2;
> >               return null;
> >       }
> >
> >       public NamingConvention getNamingConvention() {
> >               return namingConvention;
> >       }
> >
> >       public void setNamingConvention(NamingConvention namingConvention) {
> >               this.namingConvention = namingConvention;
> >       }
> >
> > }
> >
> > 宜しくお願いします。
> >
> >
> > 07/05/17 に 松崎 学<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > 松崎です。いつもお世話になっております。
> > >
> > > TByteLengthValidatorやTNumberLengthValidatorでチェックする桁数を
> > > ロジックでセットする事は可能でしょうか?
> > > 入力可能桁数をDBのテーブル定義情報から取得してチェックしたいのです。
> > >
> > > アノテーションでソースにリテラル指定する事しか出来ないのでしょうか?
> > >
> > > 以上、よろしくお願い致します。
> > >
> > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> >
> >
> > --
> > =============================
> > Shinpei Ohtani
> > [E-MAIL ADDRESS DELETED]
> > =============================
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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



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