質問

私は、Entity FrameworkのPOCOクラスとFluentValidationフレームワークとASP.NET MVCを使用しています。それはうまく機能している、そしてそれが必要として(私はDataAnnotationsを使用していたかのように)検証が起こっています。私も、クライアント側の検証作業を頂いております。そして、私はかなりそれに満足しています。

これは私が一緒に働いて、新しい技術を取得(そして道に沿ってそれらを学ぶ)ことができるかどうかだけ確認するために書いていますテストアプリケーションですので、私は今のviewmodelsを使用してだけではなく、実際のモデルを渡すことで実験する準備ができていますビュー。私はViewModelににモデルからのマッピングの前後に操作を行うために私のサービスにAutoMapperのようなものを使用して計画していますが、私は最初の質問があります。

これはどのように私の検証に影響を与えるために起こっていますか? (FluentValidationを使用して書かれた)私のバリデーションクラスは、ビューモデルの代わりに、モデルに対して書かれるべきか?それとも、両方の場所で発生する必要があるのでしょうか? DataAnnotations(およびFluentValidation)程度の大きな取引の1つは、「どこでも」仕事と一つの場所での検証を持っているということでした。そして、それはその約束を(主に)果たすが、私はのviewmodelsを使用して起動した場合、私はその能力を失い、2つの場所での検証を置くに戻って行く必要はありませんか?

または私はちょうど

?間違ってそれについて考えています
役に立ちましたか?

解決

  

または私はちょうど

?間違ってそれについて考えています

おそらく;)

あなたのviewmodelsに、すべての検証コードを追加する場合は、

あなただけの代わりに、実際のモデルのそれらを検証しているはずです。すべてのあなたは本当にオブジェクトが無効な状態を入力することもできます。を変更します。

右は今、私は唯一のviewmodelsを検証した後、実際のモデルとDAO層への情報のバックを渡すパイのようにうれしいです。これまでのところ、この技術は私にとって偉大な働いているがが、あなたのドメインが無効な状態に入ることができるかどうかは異論トピックです。一つの場所での検証と私の永続ストアにない無効なオブジェクトます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top