BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

バリデーションはどの層でやるか

最近のアプリケーションフレームワークでは、プレゼンテーション層でバリデーションするためのメカニズムが大抵搭載されてますが、プレゼンテーション層でのバリデーションは、テストがやりにくくなるし、複数のビューがある場合にデータの妥当性一貫性を保障できなくなってしまう。だから、極力下のほうの層でやりたい。

って昨日も書いたわけですが。考えてみたら、例えば、PC向けで会員登録フォームがあったとする。これは1画面でデータを入力。さらに、携帯向けの会員登録フォームもあるとする。項目数が多いので、こっちはウィザード的に複数ページに渡って入力する。…っていう場合、プレゼンテーション層でバリデーションしないとダメげ。

でも、バリデーションってテストの必要性高そうだから、せめてテストは自動化したいなあ。うーん。それにバリデーションはセキュリティにもかかわってくるところなので、「こういうふうにしなさい!」というのをキチンと手順化したいのだけど。

コメント

2004/11/22 17:49 from ひが

プレゼンテーションのフレームワーク
バリデーションは、一回目視するだけで良いと
思いますよ。設定があってるかの確認。
プレゼンテーション用のフレームワーク
バリデーションのロジックを自分で増やした場合は、
ちゃんとテストすべきですが。

2004/11/22 18:04 from みやまえ

データの妥当性確保や、セキュリティの面(XSSやインジェクション対策)から、バリデーションは非常に重要(間違いや漏れがあってはならない)。と考えています。

でも、他のロジックと干渉したりリファクタリングするわけじゃなく、あくまで設定に過ぎない(昔のようにコードでバリデーションする時代は終わってる)のだから、自動化して繰り返しテストをする必要はない。

ってことでしょうかねえ。

バリデーションについては、今後も色々考えてみるつもりです。セキュリティ対策なんかも考慮に入れて、くーすに肉付けをして開発プロセスを作っていこうかと。