4

必須フィールドに注釈を付けたユーザー クラスがあります。

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でそれについての手がかりが見つからなかったので、私のコードに非常に固有のものかもしれませんが、何も考えられません.

何か案が ?

4

0 に答える 0