必須フィールドに注釈を付けたユーザー クラスがあります。
public class User
{
[DataMember(Name = "firstName")]
[Required(ErrorMessage="FIST_NAME_REQUIRED")]
public string FirstName { get; set; }
[DataMember(Name = "lastName")]
[Required(ErrorMessage = "LAST_NAME_REQUIRED")]
[Custom(ErrorMessage = "CUSTOM_MESSAGE")]
public string LastName { get; set; }
}
このクラスは、POST API 呼び出しの引数です。
[HttpPost]
public HttpResponseMessage Create(User request)
{
var response = new ApiResponse();
if (request != null && ModelState.IsValid)
{
[Code here]
}
else
{
response.Success = false;
response.Message = ModelState.Values.Count() > 0 ModelState.Values.Select(value => value.Errors).Select(error => error.First().ErrorMessage).Aggregate((result, next) => result + ", " + next) : string.Empty ;
return Request.CreateResponse(HttpStatusCode.OK, response);
}
}
私の問題は、たとえば、名前を付けずに API コントローラー アクションを呼び出すと、"The FirsName プロパティが必要です" という既定のエラー メッセージが表示されることです。カスタム エラー メッセージ「FIRST_NAME_REQUIRED」の代わりに。
ただし、カスタム バリデータのエラー メッセージは正常に機能します。
Googleでそれについての手がかりが見つからなかったので、私のコードに非常に固有のものかもしれませんが、何も考えられません.
何か案が ?