可以修复模型验证中的CamelCase属性名称错误消息吗?

时间:2016-10-27 18:05:06

标签: c# validation asp.net-core asp.net-core-mvc

我有一个Asp.net核心REST服务。拿一个模型片段:

{
   public string ItemType { get; set; }
}

遵循C#命名约定,当然,在JSON中,我们会将其命名为" itemType"。我通过将内部Json.net设置为使用驼峰案例名称解析器来修复该部分。这一切都很好。

但是,如果模型验证失败,我会收到一条错误消息:

"**itemType**":[
    "The **ItemType** field is required."
]

是的,它的挑剔:),但有没有任何通用的方法来获取错误消息中的名称,以便它们匹配字段名称?

2 个答案:

答案 0 :(得分:1)

请检查我回答中与您的问题有关的第二部分。

https://stackoverflow.com/a/51371894/2514158

主要思想是创建一个自定义的模型验证,除了骆驼的情况配置。

答案 1 :(得分:0)

在startup.cs文件中,您可以设置json格式化程序案例。默认情况下它应该是驼峰式的,但它似乎不会影响模型验证。在ConfigureServices方法下添加:

public void ConfigureServices(IServiceCollection services)
{
   services.AddMvcCore().AddJsonFormatters(j => j.ContractResolver = new CamelCasePropertyNamesContractResolver());
}