Zend Framework と jQuery を使用して MVC アプリケーションを開発しています。私のモデルは、サービス層、マッパー、ドメイン モデルの 3 つの層で構成されています。
今日まで、私は入力の検証に苦労してきました。クライアントで発生するものもあれば、Zend フォームで発生するものもあれば、ドメイン モデルで発生するものもあります。責任が紛らわしくなっており、多くの重複したロジックがあります。
少し考えてみたところ、Zend フォームの検証をスキップしない理由がわかりません。JavaScript を使用して単純なもの (正規表現を含む) を検証し、必要に応じて (ajax を介して) サーバーから追加データを取得できます。フォームが検証に合格したら、それをサーバーに渡します。
もちろん、私のドメイン モデル ロジックは包括的である必要があります (クライアント上にあるものすべてを複製する) が、ドメイン モデルは他に何のためにあるのでしょうか?
何か不足していますか?注意すべき落とし穴はありますか?
編集:明確にするために、サーバー側の検証を放棄することをまったく提案していません。(これが必須であることは理解しています。) 私のドメイン モデルでそれができるのであれば、フォームでもそれを行う必要はないことを提案しています。