5

MVC 3サイトがありますが、MVC以外のFluentValidationdllを使用しています。バリデータークラスを作成し、コンストラクターにすべてのRuleForを配置してから、モデルクラスに属性を設定しました。

[FluentValidation.Attributes.Validator(typeof(MyValidator))]

問題は、バリデータークラスのコンストラクターが呼び出されないことです。dllのMVCバージョンを使用していないことが原因である可能性がありますが、そのバージョンを使用することもできませんでした。

どんな助けでもいただければ幸いです。

ありがとう、

サチン

4

1 に答える 1

6

Application_Startカスタム fluent 検証モデル バリデーター プロバイダーを初期化したことを確認してください。そうしないと、何も起こりません。

FluentValidation.Mvc.FluentValidationModelValidatorProvider.Configure();

FluentValidationModelValidatorProviderクラスはFluentValidation.Mvcアセンブリ内で定義されます。FluentValidation を ASP.NET MVC サイトに統合するためのドキュメントを参照してください。

[Validator]バリデーターは、属性で修飾されたモデルを引数として受け取るコントローラー アクションを呼び出すとトリガーされます。

[HttpPost]
public ActionResult Process(MyViewModel model)
{
    ...
}
于 2012-06-11T16:50:52.127 に答える