我在ASP.NET MVC应用程序中使用Entity Framework 6。我在模型int Time
中有一个字段,我从客户端发布时间= 2.3。 modelState无效但没有任何错误。如何验证这一点以向用户抛出有用的错误?
答案 0 :(得分:0)
如果您使用的是jquery.validate.js,则表单甚至不会将信息发布到post操作。此javascript代码使浏览器显示验证错误,并且不提交表单。但是,如果表单在操作中提交,您可以自己检查验证,如下所示:
[HttpPost]
public ActionResult Test(YourModelClass vo)
{
if (!ModelState.IsValid)
{
int time;
if (!int.TryParse(Request.Form["Time"].ToString(), out value))
ModelState.AddModelError("Time", "The Test field should be a number");
return View(vo);
}
//do something here with your vo
return View();
}