1
使用下面的模型ASP.NET核心模型状态不返回数据成员名称
[DataContract]
public class MyModel
{
[DataMember(Name = "name")]
[Required]
public string Name { get; set; }
[DataMember(Name = "email_address")]
[Required]
[EmailAddress]
public string EmailAddress { get; set; }
}
如果我不提供所需的参数,它返回
它正确地验证{
"Name": [
"The Name field is required."
],
"EmailAddress": [
"The EmailAddress field is not a valid e-mail address."
]
}
但是,正如您可以看到属性的外部键名称是'name'并且EmailAddress是'email_address',但我得到的是返回的属性名称。
如何获取ModelState错误以符合DataMember名称?我不想在蛇情况或骆驼情况下返回属性名称,我想使用DataMember名称。
更新
我已经在ASPNET回购提出的一个问题:https://github.com/aspnet/Mvc/issues/6942
不幸的是doen't工作,同样没有'[显示(NAME = “EMAIL_ADDRESS”)]' –
尝试'[必需(的ErrorMessage = “名称字段是必需的。”)]' – aaron
不幸的是,结果键仍然是字段“{”EmailAddress“:[”email_address字段是必需的“)的名称。 ]}'这并没有帮助。 api的用户应该能够根据他们首先发送的密钥找到某个字段的错误。这种模型状态的实现似乎不适合用途,所以我提出了一个关于aspnet repo的问题https://github.com/aspnet/Mvc/issues/6942 –