我似乎无法在 Google 上找到与此问题相关的任何内容。
请帮忙 !!
场景:
主要是我有一个带有控制器方法的 WebAPI 服务器,它需要一个简单的类型作为参数。
该 API 如下所示:
public HttpResponseMessage Foo([FromBody] LoginModel form)
{
// ...some code
return this.Request.CreateResponse(HttpStatusCode.OK);
}
LoginType 类如下所示:
public class LoginModel
{
[Required]
[EmailAddress(ErrorMessage = "Please have a Email address format")]
public string Email;
[Required]
[StringLength(20, MinimumLength = 6, ErrorMessage = "Password must be between 6 and 20 characters")]
public string Password;
}
当客户端尝试运行 API 方法时会出现问题。我传递了一个看起来像这样的 json
{ "Email" : "xxx@xxx.com" , "Password" : "oooooo" }
....我得到以下异常
异常消息:
“类型 'XXXX.Models.Login' 上的字段 'Email' 具有一个或多个验证属性。不支持字段上的验证属性。考虑改用公共属性进行验证。
当我从 Fiddler 运行 api 调用时也会发生同样的情况!
注意:
如果我删除 [Required] 等各种属性,它会顺利运行。当属性就位时,客户端调用永远不会到达方法。
非常感谢您的帮助!