gpt4 book ai didi

asp.net-mvc - ASP.NET Core 模型状态不返回 DataMember 名称

转载 作者:行者123 更新时间:2023-12-05 08:08:41 26 4
gpt4 key购买 nike

当使用以下模型时

[DataContract]
public class MyModel
{
[DataMember(Name = "name")]
[Required]
public string Name { get; set; }

[DataMember(Name = "email_address")]
[Required]
[EmailAddress]
public string EmailAddress { get; set; }
}

当我在我的 Controller 操作中使用 ModelState 时,如果我没有提供它返回的所需参数,它会正确验证

{
"Name": [
"The Name field is required."
],
"EmailAddress": [
"The EmailAddress field is not a valid e-mail address."
]
}

但是,如您所见,属性名称的外部键是“名称”,电子邮件地址是“电子邮件地址”,但我得到的是返回的属性名称。

如何让 ModelState 错误遵循 DataMember 名称?我不想返回蛇形或驼形的属性名称,我想使用 DataMember 名称。

更新

我在 aspnet repo 上提出了一个问题:https://github.com/aspnet/Mvc/issues/6942

最佳答案

DataMemberAttributeDataContractSerializer 使用。使用 DisplayNameAttribute :

[DataMember(Name = "email_address")]
[DisplayName("email_address")]
[Required]
[EmailAddress]
public string EmailAddress { get; set; }

关于asp.net-mvc - ASP.NET Core 模型状态不返回 DataMember 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675601/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com