Strutsのバリデーション

2008/04/30

ActionFormのvalidate()のオーバーライドで十分なんじゃなかろうか。

とにかくvalidwhenがイヤ

Strutsのバリデーションといえば、フツーはvalidation.xmlにウニャウニャ書くアレですが、
ホント見づらいし、使いたくない。
requiredとかmaskとかなら全然いいんですが、「validwhen」、これが出てくるともう読めたもんじゃない。
<var-value>
(((xxType == '1') and (*this* != null)) or (xxType == '2'))
</var-value>

こんなのがどんどん出てくる。
andとかorとか書けるくせに、それぞれ2つずつカッコで囲まないといけないので、カッコカッコしちゃう。
xmlだから、タイプミスとの戦い。マジックナンバーも出まくり。
実際の業務でまじめにやったら、これより複雑なものがいっぱい登場するハズ。

なんていうか、xmlにプログラミングが入り込んでいる感覚がイヤ。
書くのもツライし、読むのもツライし。

じゃあvalidateのオーバーライドで

というわけで、僕はすぐにActionFormのvalidate()のオーバーライドに逃げます。
「チェックが1箇所にまとまらなくなってしまう」というのがありますが、
「見てすぐに理解できないものが1箇所にまとまってても。。。」と思います。
「validation.xmlに書くとJavascriptが生成されて・・・」というのもありますが、
「その生成されたJavascriptをそのまま使うことはないでしょ?」と思います。
ショボいメリットより、「はやく書けて、テストもしやすく、読みやすい」というメリットのほうが断然いいはず。

でもやっぱり

ググってみたら、同じように考えている人もいるようですが、やはり入力値検証はvalidation.xmlに書くべし!的なものが多数派ですね。。
職場でも何の疑問もなく、超絶的なvalidwhenを書く人もいますし。。(そんなのメンテできねー)

Java | コメント(0) | トラックバック(0)
トラックバック
トラックバックURL:
コメントをどうぞ
名前 (入力しなければ「通りすがり」):

メールアドレス (入力しても公開されません):

URL (入力すればリンクが張られます):


コメント:

(コメントにタグなどを使ってもタグがそのままが表示されます)