如何阻止Ninject覆盖自定义DataAnnotationsModelValidatorProvider?
-
27-10-2019 - |
题
我有一个自定义的DataAnnotationsModelValidatorProvider,可以以动态方式进行模型验证,然后再添加属性。我尝试将提供的商品添加到global.asax.cs中,如下所示: 通用标签
但是,一旦加载表单,我会收到一条错误消息:“不打扰的客户端验证规则中的验证类型名称必须是唯一的。以下验证类型被多次看到:必需”。
根据对此博客发表评论,因为Ninject覆盖了自定义验证程序提供程序。
我对MVC还是很陌生,我似乎也找不到办法告诉Ninject也接受我的自定义提供程序,我将如何解决此问题?
出于记录:我不想使用Fluentvalidation.net,我想坚持使用默认的MVC验证(大部分情况下)。
解决方案
将提供者的注册更改为 通用标签
其他提示
还有另一种方法(肯定可以在MVC 4中工作):
找到继承了IdependencyResolver
接口的类并添加到构造函数_kernel.Unbind<ModelValidatorProvider>();
中-您只需取消绑定ninject验证程序,就不应该使用默认验证程序进行大肠杆菌了。
在我的情况下,我的构造函数如下: 通用标签
不隶属于 StackOverflow