0

我有一个 MVC3 项目,我使用 NinjectMVC3 进行依赖注入 - 到目前为止一切都很好。最近,我想本地化应用程序中的所有文本,从我看到的所有选项中,这里提供的选项似乎是最干净的。如果不与默认的 NinjectMVC3 设置同时使用,则此解决方案非常适合。

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

根据错误,看起来有 2 个或更多验证器提供程序注册到 ModelValidatorProvidersCollection。

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

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

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

4

1 回答 1

1

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

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

于 2011-11-25T04:55:59.623 回答