NinjectがカスタムDataAnnotationsModelValidatorProviderをオーバーライドしないようにするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/8356811

質問

属性を追加するよりも動的な方法でモデル検証を行うためのカスタムDataAnnotationsModelValidatorProviderがあります。次のように、自分の提供をglobal.asax.csに追加しようとしました: ジェネラコディセタグプレ

しかし、フォームを読み込むと、「目立たないクライアント検証ルールの検証タイプ名は一意である必要があります。次の検証タイプが複数回表示されました:必須」というエラーが表示されます。

このブログへのコメント、これはNinjectがカスタムバリデータープロバイダーをオーバーライドしているためです。

私はMVCにかなり慣れていないので、Ninjectにカスタムプロバイダーも受け入れるように指示する方法が見つからないようです。この問題を修正するにはどうすればよいですか?

記録のために:Fluentvalidation.netを使用したくないので、デフォルトのMVC検証を使用したいと思います(ほとんどの場合)。

役に立ちましたか?

解決

プロバイダーの登録をに変更します ジェネラコディセタグプレ

他のヒント

別の方法があります(MVC 4で確実に機能します):

IdependencyResolverインターフェースを継承するクラスを見つけて、コンストラクター_kernel.Unbind<ModelValidatorProvider>();に追加します。ninjectバリデーターのバインドを解除するだけで、デフォルトのバリデーターとの衝突は発生しません。

私の場合、コンストラクターは次のようになります。 ジェネラコディセタグプレ

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