实体框架后十进制到int字段

时间:2017-05-19 20:40:10

标签: asp.net-mvc entity-framework-6

我在ASP.NET MVC应用程序中使用Entity Framework 6。我在模型int Time中有一个字段,我从客户端发布时间= 2.3。 modelState无效但没有任何错误。如何验证这一点以向用户抛出有用的错误?

1 个答案:

答案 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();
        }