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 –