[Seasar-user:6616] Re: 継承したPageクラスでのバリデータ宣言

関 真理子 [E-MAIL ADDRESS DELETED]
2007年 3月 9日 (金) 20:47:45 JST


関です。(Teeda使用暦4ヶ月です。)

横から意見失礼します。

> バリデータの継承が本当に必要か皆さんの
> 意見を聞いてみたいところです。

バリデータ定義のオーバーライドって、可能でしょうか?
可能であれば継承機能が欲しいと思います。


現在開発中の画面で、親Pageクラスを使用する際は、
子PageクラスでSetterをオーバーライドし、Validationを書いています。
(このやり方が、定数アノテーションでもできるのか知らないんですが。。)
↓こんな感じです。
--------
    @Override
    @Required(target = "doCheck")
    public void setHoge(String hoge) {
        super.setHoge(hoge);
    }
--------

で、このときに、
親Pageクラスでデフォルトの定義をして、
必要があれば、子Pageクラスでオーバーライドできれば楽なのに、
と思っておりました。

--------
[親Pageクラス]
    @Required(target = "doCheck")
    public void setHoge(String hoge) {
        this.hoge = hoge;
    }
[子Pageクラス]
    @Override
    public void setHoge(String hoge) {
        super.setHoge(hoge);
    }
--------
と定義すると、必要ないPageでvalidation不要にできる。

というかんじです。


On Fri, 09 Mar 2007 19:54:22 +0900
Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:

> ひがです。
> 
> > お世話になっております。小林と申します。
> > 初めて投稿させて頂きます。
> > 
> > 現在teeda(teeda 1.0.5/s2 2.4.10/J2SE 1.4)を使用した開発を行っております。
> > 同様の処理を持つ画面が複数存在するため、
> > 一つ親となるページクラスを作成し、各ページクラスはそれを継承する形としました。
> > 
> > 入力項目もほぼ同じであるため必要となるバリデータを親クラス側で宣言したのですが
> > バリデータが有効になりませんでした。
> > 
> 現状のTeedaは、親のバリデータを継承するのは、危険なことがあるかもしれない
> という理由で、意図的に継承されないようになっています。
> 同じ親を継承するけど、あるページではバリデーションが必要だが
> 別のページではバリデーションが必要のないプロパティがあるかもしれません。
> 
> ただ、どの画面でも共通に必要とする場合だけ、親に宣言するように
> すれば問題無い気もします。
> 
> バリデータの継承が本当に必要か皆さんの
> 意見を聞いてみたいところです。
> 
> ご意見お待ちしてます。
> 
> Yasuo Higa
> The Seasar Project
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user

-- 
関真理子 <[E-MAIL ADDRESS DELETED]>





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