我有一个用户类,其中包含必填字段的注释。
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 控制器操作时,我收到默认错误消息“需要 FirsName 属性”。而不是我的自定义错误消息“FIRST_NAME_REQUIRED”。
自定义验证器的错误消息可以正常工作。
在谷歌上找不到任何关于它的线索,所以它可能是我的代码非常具体的东西,但我想不出任何东西。
任何想法 ?