【发布时间】:2020-09-22 20:17:29
【问题描述】:
在我的 ASP.NET MVC Core Web 应用程序中,属性的 Json 序列化设置为驼峰式(首字母小写):
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddJsonOptions(opt =>
{
opt.SerializerSettings.ContractResolver = new DefaultContractResolver { NamingStrategy = new CamelCaseNamingStrategy() };
opt.SerializerSettings.Converters.Add(new StringEnumConverter(true));
});
客户端的序列化按预期工作。
但是当javascript客户端尝试发布数据并且该数据无效时,他会收到一条带有大写字母属性的验证消息,该验证消息是ModelState:
{"Info":["The Info field is required."]}
有没有办法让 ASP.NET 在ModelState 的验证消息中返回小写属性以反映命名策略?
【问题讨论】:
标签: asp.net-core-mvc asp.net-core-webapi