我有這樣一個簡單的模型:添加的ModelState錯誤與正確的鍵名
public class Employer
{
[Required(ErrorMessage = "Please specify id")]
public int Id { get; set; }
[MaxLength(256, ErrorMessage = "Max lenght should be less than 256")]
[Required(ErrorMessage = "Please specify Name")]
public string Name { get; set; }
[Required(ErrorMessage = "Please specify id of organization")]
public int OrganizationId { get; set; }
}
然後控制器:
public IHttpActionResult Post(Employer employer)
{
if(!IsActiveOrganization(employer.OrganizationId))
{
ModelState.AddModelError(nameof(employer.OrganizationId), "The organization is not active!");
}
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
}
正如你可以看到我試圖創建一個新的前驗證模型僱主。所以,當我通過與無效id
模型則迴應會喜歡:
{
"message": "The request is invalid.",
"modelState": {
"employer.Id": [
"Please specify id."
]
}
}
我要檢查,如果OrganizationId
處於活動狀態。爲此我有一個方法IsActiveOrganization
它檢查並返回true/false
。如果false
那麼我需要添加模型錯誤並將400錯誤請求返回給客戶端。一切正常,但在方式,我實現了我會得到響應,如:
{
"message": "The request is invalid.",
"modelState": {
"employer.Id": [
"Please specify id"
],
"OrganizationId": [
"The organization is not active!"
]
}
}
我如何添加前綴的ModelState錯誤鍵像employer.Id
爲自己的錯誤OrganizationId
?我應該有硬編碼employer.OrganizationId
還是有更好的方法?請讓我知道是否需要添加模式詳細信息。謝謝。
以下任何答案是否解決了您的問題? –
@MarkC。不,請幫忙 –