在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
asp.net mvc内置的数据验证功能为我们提供了一个非常方便的数据验证体验,但是如果我们通过Ajax方式访问我们的Action并且返回验证的错误提示就比较麻烦了,经过反复实验终于找了一个解决方法,特此记录下来以备忘。 Action代码
代码
1 [HttpPost]
2 public ActionResult CreateComment(Comment comment) 3 { 4 if (!ModelState.IsValid) 5 { 6 List<string> sb = new List<string>(); 7 //获取所有错误的Key 8 List<string> Keys = ModelState.Keys.ToList(); 9 //获取每一个key对应的ModelStateDictionary 10 foreach (var key in Keys) 11 { 12 var errors = ModelState[key].Errors.ToList(); 13 //将错误描述添加到sb中 14 foreach (var error in errors) 15 { 16 sb.Add(error.ErrorMessage); 17 } 18 } 19 return Json(sb); 20 } 21 else 22 { 23 return Json(commentRepository.InsertComment(comment)); 24 } 25 }
JavaScript代码
代码
$("#commentform").submit(function () {
$.ajax({ type: "POST", url: "/AjaxResult/CreateComment/", data: $(this).serialize(), dataType: "json", success: function (data) { if (data == true) { alert("成功"); ShowPage(articleID, pageSize, 1); } else if (data != true && data != false) { var result = ""; for (var i in data) { result = result + data[i] + "\r\n"; } alert(result); } }, global: false }); return false; });
具体的就不解释了,自己能看懂就行了。 |
请发表评论