validatorは必要か

大掛かりな仕組みとしてのvalidation機能は必要ないような気がしてきた。

そもそもvalidationの機能としては3つあると思う:

  1. 入力値の検証を行うことができること
    • できるだけ定型的な方法で機械的に検証できることが望ましい
  2. 検証エラーの場合に入力画面に戻ること
    • 入力内容が保持されていること
    • できるならエラー箇所が判別可能な状態になること
  3. エラーメッセージの設定/表示が可能であること
    • 項目単位/全メッセージのいずれも表示可能であること

Moony 0.9.0ではSmartyプラグインとセッションを使用して、Strutsのカスタムタグ風味の実装がなされている。基本的なvalidation機能はMoony_Validatorに実装、各アクションクラスのvalidateメソッドから呼び出せるようになっている。結果として、かなり大きなMoony_SmartyPluginクラスとMoony_Validatorクラスができてしまった。

Moonyの構造を見直し、軽量化するに当たって、高機能なvalidation機能は必要ないのではないかという気がしている。そもそものターゲットが気軽なweb制作ツールであるMoonyにおいて、validationはそれほど重要な機能ではない。