2

アプリケーションをMVC1からMVC3にアップグレードしています。以前はxValを使用していて、新しいUnobstructive検証を使用しようとしています。私の既存のコードでは、私はしばしば次のものを持っています。

<%=Html.ClientSideValidation<Applicant>() %>

一方、ページに渡すモデルは、追加情報を含むViewModelです。新しい検証では、バリデーターを見つけるために、ページに渡したモデルを確認する必要があります。HTMLヘルパーを使用してプレフィックスを含めると、参照を変更できます。これを行うと、検証が取得されます。ただし、このプレフィックスを探すために既存のすべてのコントローラーを変更する必要がないように、エンティティモデルとビューモデルを使用するようにページに指示したいと思います。

これは可能ですか?

4

2 に答える 2

0

大規模な編集を実行したくないことを考慮して、カスタム HTML ヘルパーを作成して、あなたが話しているそのプレフィックスを含めることができます。

さらに情報を提供していただければ、ヘルパーの作成をお手伝いできます。ただし、実際のヘルパー呼び出しを変更する必要があります。

于 2012-04-10T00:21:57.327 に答える
0

別のモデルを使用して、フィールドのレンダリングと検証の両方を行うことができます。これは、ビューに渡されたモデルが、投稿したいアクション メソッドで使用されているモデルと異なる場合に役立ちます。クライアント側とサーバー側の両方の検証が確実に機能するように、ポストするアクション メソッドと「クライアント検証」の両方が同じモデルを参照する必要があります。私は Mvc Controls Toolkit プロジェクトのコーディネーターです。そこでは、必ずしもページ ViewModel ではない任意のモデルのフィールドをレンダリングするために使用できる、動的に html オブジェクトを作成するためのツールがあります。特に、crossHelper 拡張メソッドを使用できます。ただし、これがまさにあなたが求めたものであると 100% 確信できるわけではありません。

于 2012-04-06T16:27:04.687 に答える