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

松崎 学 [E-MAIL ADDRESS DELETED]
2007年 5月 22日 (火) 19:34:25 JST


大谷さん

松崎です。対応ありがとうございましたm(_ _)m
とても助かります。

On Tue, 22 May 2007 00:17:41 +0900
"Shinpei Ohtani" <[E-MAIL ADDRESS DELETED]> wrote:

> 大谷です。
> 
> 私のblogに書きましたが、DynamicValidatorの機能を追加しました。
> 
> http://d.hatena.ne.jp/shot6/20070521#1179744532
> 
> 対象のコンポーネントのid+Validatorのgetterで
> Validatorを動的に置き換えて使うことが出来ます。
> 混乱を避けるため、動的なValidatorがある場合は、
> アノテーションのValidatorは動かないようにしました。
> 
> public class HogePage {
>  private String name;
>  public Validator getNameValidator() {
>    //動的にカスタマイズしたValidatorを返す.
>  }
> 
> よろしくお願いします。
> 
> 07/05/21 に 松崎 学<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > 大谷さん
> >
> > 松崎です、お世話になります。
> > 了解しました。よろしくお願い致します。
> >
> > On Mon, 21 May 2007 09:46:30 +0900
> > "Shinpei Ohtani" <[E-MAIL ADDRESS DELETED]> wrote:
> >
> > > 大谷です。
> > >
> > > 下記、もう少し良いやり方も検討してみます。
> > > 宜しくお願いします。
> > >
> > > 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 mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> > ========================================
> >  株式会社キャム
> >  福岡市中央区大名2-4-30 西鉄赤坂ビル10F
> >  TEL: 092-716-2131  FAX: 092-726-4402
> >  URL: http://www.cam-net.co.jp
> >
> >  松崎 学 <[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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user






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