当前位置: 代码迷 >> .NET新技术 >> asp.net mvc中表单验证有关问题
  详细解决方案

asp.net mvc中表单验证有关问题

热度:349   发布时间:2016-04-25 01:56:36.0
asp.net mvc中表单验证问题
开发环境:VS2008 mvc2

如何在服务器端验证数据?

数据已经能够插入到表中,什么都不输入 直接堤交过去,会插入一条空的记录

网下查了半天,也没有弄明白,自带的代码也没有搞清楚,请哪位帮忙,谢谢!

view 代码如下

C# code
<% using (Html.BeginForm())         { %>            <%= Html.ValidationSummary(true, "必要的信息请输入")%>    分类名称:<%=Html.TextBox("typename")%>&nbsp; <%= Html.ValidationMessage("typename")%><br />    是否可见:<%=Html.CheckBox("isvisible")%><br />       <input type="submit"  value="tijiao" />       <%}%>


controller代码
C# code
 [AcceptVerbs(HttpVerbs.Post)]        public ActionResult typeadd(string typename, bool isvisible)        {                     Dal.typenews tn = new Dal.typenews();            Model.typenews model = new Model.typenews();            if (ModelState.IsValid)            {                  model.typename = Server.HtmlEncode(typename);                model.isvisible = isvisible;                if (tn.Add(model) > 0)                {                   //添加成功,跳转到列表页                    Response.Redirect("typelist");                }            }            return View(model);        }


------解决方案--------------------
将断点插入到函数开始处,typeadd(string typename, bool isvisible)
查看typename的值是多少?(有木有值呢?)
------解决方案--------------------
我想这个页面内的方法可以帮你解决问题。我刚才看了下,主要两种方法,第一个,自己在typeadd函数中判断是否为空校验,第二个是重写ValidationRules函数。
地址如下:http://www.cnblogs.com/qleelulu/archive/2008/10/08/1305962.html
------解决方案--------------------
呵呵,关注一下
------解决方案--------------------
后台控制器:
C# code
  if (this.IsPost)            {                TryUpdateModel(user, new string[] {"Email", "Name", "Password", "NickName"});                if (string.IsNullOrEmpty(user.Email))                {                    ModelState.AddModelError("Email", "请填写邮箱.");                }                else if (this.UserService.FindByEmail(user.Email) != null)                {                    ModelState.AddModelError("Email", "该邮箱已经被使用.");                }                if (string.IsNullOrEmpty(user.Name))                {                    ModelState.AddModelError("Name", "请填写用户名.");                }                else if (this.UserService.FindByName(user.Name) != null)                {                    ModelState.AddModelError("Name", "该用户名已经被使用.");                }                        ...
------解决方案--------------------
C# code
  if (ModelState.IsValid)                {                    this.UserService.Save(user);                }            }            return View(user);
  相关解决方案