[mayaa-dev:91] Re: validator part ( Re: Mayaaのみでアプリケーションを作るためのフレームワーク

Yasuhiro Oguro [E-MAIL ADDRESS DELETED]
2008年 3月 18日 (火) 12:20:37 JST


お疲れ様です。小黒です。

On Tue, 18 Mar 2008 06:16:29 +0900
suga <[E-MAIL ADDRESS DELETED]> wrote:
> > > >  b. web.xmlのfilter定義にvalidation.xmlの位置を指定する
> > > >  paramを追加しています。(StrutsではStruts-config.xmlの最後に書かれています)
> > > この方式だと、いろいろな画面のバリデーションが全部ひとつの
> > > ファイルに入るので、見通しが悪くなりやすいですね。
> > > それと非定型のバリデーションをする場合に、このファイルと別の
> > > ファイル (コード?) に分散してしまうのが難です。
> > これはvalidation.xmlを,区切りで複数定義できるのでそちらで暫定対応としたいのですがどうでしょうか。慣例としてappForm=validation-appForm.xmlを定義するのはどうでしょう。(mayaa-sample-app.warを前提に書いてます)
> 
> この引用部分のあとに書いていた「同じ Form に対するバリデーションの分散」や
> 複数項目にまたがるバリデーションを考えると、やはり XML 形式での指定は
> 「プロトタイピング」目的には向いていないと思います。

まず、「これはvalidation.xmlを,区切りで・・・」という私の記述が勘違いです。
定義をフォーム毎に別々に定義したいのかな?と思ってました。
すみません。なので、appForm=validation-appForm.xmlというのは取り下げです。

整理してくださった内容で「同じ Form に対するバリデーションの分散」とは具体的には定義とコードが分散するということですよね?

私の経験上、コードによる非定型の検証はvalidatorではなく、bizLogicの一部だと思います。(それが前段かtransactionか後処理か表示処理かは場合によります。きっと前段処理=load('...validator.vjs')なのかな。)昨日まではvalidation.vjsはValidationResultsをRhinoで扱いやすく展開する共通ロジックか何かだと思ってました。Strutsの場合validatorでfailするとactionに渡ってこないで、message.propertiesから引き当ててメッセージを出してくれますが、それはそれで使いにくい所なので、validator.vjsでフォローできるかなとか・・・は未来予想図で今実装できそうもないですけど。

今世間一般でvalidatorといったらすなわちStrutsの検証機能もしくはそれに相当する機能を指すと思っています。
そして、Strutsに入っていた検証機能を切り出したのがcommons-validatorだと思っていました。commons-validatorの中には(メールアドレス用とか、数値で桁数範囲指定とか)は既に定義されてるので、form+fieldに対する定義をvalidation.xmlでするだけの話だと思います。(それと、OROによる正規表現のMASKが使えるので、validationという機能としては十分だと思います。)

(他のサンプルはmayaa+s2もしくはmayaa+jstlなどでしたので)
S2Strutsではvalidationをアノテーションで定義できるのに、
mayaa-sample-app.warではvalidation.xmlを利用していたので、
mayaaの方向性としてはvalidation.xmlなのだと思っていました。
DynaValidationFormを想定したりもしていたので、そういう流れで考えていました。

> 私の観点はこれまでも述べたように「プロトタイピング」をターゲットとした軽量なもの
> なのですが、小黒さんの観点は何をターゲットとしていますか?

掲題の「Mayaaのみで構築する為のフレームワーク」の「プロトタイピング」ということで
(部分的にでも)mayaa-sample-app.warの
S2Struts(とS2)を「Mayaa standaloneのフレームワーク」で
置き換えた物を作るのが比較しやすいし判り易いかと思いました。

で今はvalidator partで次にsql partかなと。

#とはいえ昨日はメールを書いただけでコードを書けなかったんですけど。
#花粉日和ですね。今日も霞んでコードが読みにくいです。

以上 宜しくお願いします。
---
NEEC System Technology Co.,Ltd. 
Y.Oguro <[E-MAIL ADDRESS DELETED]> ☆.。.:*・°



mayaa-dev メーリングリストの案内