data-annotations - ASP.net core MVC 6 数据注释关注点分离

标签 data-annotations asp.net-core-mvc

我想将数据注释属性和 IClientValidatable 接口(interface)放在两个单独的程序集中,以实现关注点分离。一个称为 Common,另一个称为 Comman.Web。

这些链接解释了它在 MVC 5 中的工作原理:

Keeping IClientValidatable outside the model layer

http://www.eidias.com/blog/2012/5/25/mvc-custom-validator-with-client-side-validation

不幸的是,在 MVC 6 中没有

DataAnnotationsModelValidatorProvider.RegisterAdapter(
    typeof(MyValidationAttribute), 
    typeof(MyValidationAttributeAdapter)
);

它在 ASP.net core MVC 6 中如何工作?我用的是RC1。

最佳答案

Startup.cs 中的 ConfigureServices 方法中:

services.AddMvc(options =>
{
    options.ModelValidatorProviders.Insert(0, new CustomModelValidatorProvider());
});

随着 ASP.NET Core 1.0 API 的更改,您必须调整代码。您可以在 asp.net 存储库中找到示例实现:DataAnnotationsModelValidatorProvider.cs

关于data-annotations - ASP.net core MVC 6 数据注释关注点分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36692627/

相关文章:

c# - 在 ASP.NET MVC 中,没有 AntiForgeryToken 的删除操作方法不安全吗?

asp.net-core-mvc - 如何在 ASP.NET Core 6 MVC 中设置 Rotativa.aspnetcore 配置

asp.net-mvc-3 - 使用接口(interface)作为局部 View 的模型类型+数据注释

c# - 在某些情况下禁用 Required 验证属性

c# - ASP.NET MVC 中的 ViewModel 验证最佳实践

asp.net-core - 如果客户端验证已经完成,是否还需要服务器端模型验证?

asp.net-core - 我是否需要内联网应用程序的 SSL 证书

c# - 将文件上传到 Azure 上托管的 ASP.NET Core Web 应用程序的目录

c# - .Net Web Api不显示必需属性的错误消息

asp.net-mvc-3 - 带十进制的数据注释不起作用