NinjectMVC3和ModelValidatorProviders

时间:2011-11-22 06:00:53

标签: ninject.web.mvc

我有一个MVC3项目,我使用NinjectMVC3进行依赖注入 - 到目前为止一切都很好。最近,我想本地化应用程序中的所有文本,从我看到的所有选项中,here呈现的文本似乎是最干净的。如果没有与默认的NinjectMVC3设置同时使用,这个解决方案是完美的选择。

但是,当NinjectMVC3添加到项目中时,对于使用[Required]属性修饰的任何属性,将显示以下错误(和YSOD):不显眼的客户端验证规则中的验证类型名称必须是唯一的。以下验证类型不止一次出现:必需

根据错误,看起来有2个或更多Validator Provider在ModelValidatorProvidersCollection中注册。

注意:在web.config中,客户端不显眼的验证存在以下设置,我希望以这种方式保留它们:

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

有人知道如何克服这个问题吗?

1 个答案:

答案 0 :(得分:1)

原始解决方案的author提到NinjectMVC会覆盖global.asax中设置的任何ModelValidatorProviders定义。可能有某种方法可以克服这种情况,但似乎相当复杂。

我找到的另一个选项是FluentValidation,Ninject团队为其创建了一个扩展名: