C# ASP.NET 5、MVC6、WebAPI->;ModelState.IsValid始终返回true
我已经看到很多关于IsValid总是正确的帖子,但是没有一个能帮助我解决这个问题。我在使用MVC5的ASP.NET4中也看到了这个问题。很明显,我在某个地方错过了一步 控制器方法:C# ASP.NET 5、MVC6、WebAPI->;ModelState.IsValid始终返回true,c#,asp.net,asp.net-web-api,asp.net-core,C#,Asp.net,Asp.net Web Api,Asp.net Core,我已经看到很多关于IsValid总是正确的帖子,但是没有一个能帮助我解决这个问题。我在使用MVC5的ASP.NET4中也看到了这个问题。很明显,我在某个地方错过了一步 控制器方法: public IHttpActionResult Post([FromBody]ValuesObject value) { if (ModelState.IsValid) { return Json(value); } else { return
public IHttpActionResult Post([FromBody]ValuesObject value)
{
if (ModelState.IsValid)
{
return Json(value);
}
else
{
return Json(ModelState);
}
}
ValuesObject类:
public class ValuesObject
{
[Required]
public string Name;
[Range(10, 100, ErrorMessage = "This isn't right")]
public int Age;
}
职位正文:
{
Age: 1
}
ModelState.IsValid为true
但我预计所需的验证和范围验证都会失败
我错过了什么
谢谢
Kevin您不能在模型中使用字段。这是为了你的验证 在ASP.NET Web API中,可以使用 要设置验证的System.ComponentModel.DataAnnotations命名空间 模型上属性的规则 将其替换为属性,所有操作都将正常工作:
public class ValuesObject
{
[Required]
public string Name { get; set; }
[Range(10, 100, ErrorMessage = "This isn't right")]
public int Age { get; set; }
}
谢谢你多看一双眼睛!