asp.net-mvc-3 – ASP.MVC3 ModelState.IsValid不包括RemoteAttr
发布时间:2020-12-16 03:21:24 所属栏目:asp.Net 来源:网络整理
导读:我将变量定义为 public class EditModel{ [Remote("IsNameAvailable","Home",ErrorMessage = "Name is in use.")] [Display(Name = "Name")] public string Name{ get; set; }} 并在家庭控制器中 public JsonResult IsNameAvailable(string name){ if (dupli
我将变量定义为
public class EditModel { [Remote("IsNameAvailable","Home",ErrorMessage = "Name is in use.")] [Display(Name = "Name")] public string Name{ get; set; } } 并在家庭控制器中 public JsonResult IsNameAvailable(string name) { if (duplicate) return Json(false,JsonRequestBehavior.AllowGet); else return Json(true,JsonRequestBehavior.AllowGet); } 但是当我在Save操作中检查ModelState.IsValid时,它总是返回true,即使我可以在View上看到错误消息显示. public ActionResult Save(EditModel editModel) { if (!ModelState.IsValid) { //Return to view and display error in view return View("Home",editModel); } //Input data is valid and save record Repository.Save(editModel.Name); } [问题] 解决方法
你有两个选择.您可以实现IDataErrorInfo或IValidatableObject接口,并在那里重做验证.这些接口由MVC开箱即用,您的ModelState将反映这一点.
您的另一个选择是创建自己的属性,该属性派生自RemoteAttribute.在此自定义属性中,添加用于应用相同验证服务器端的逻辑. 最后一个选项是我想要的选项,但这需要花费更多时间. This question应该可以帮助你. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc – 在ASP.NET MVC 2中模板化Html.Di
- asp.net-mvc – ASP.NET MVC – 执行控制器操作而
- asp.net-web-api – 将域对象元数据暴露给breeze
- iis – ServerManager构造函数在测试环境中崩溃
- asp.net-mvc – 存储库模式:好还是坏?
- 实体框架 – EF 6 Code First迁移警告或阻止破坏
- asp.net-mvc – Asp.Net MVC捆绑,最好的方式来检
- asp.net – 确定哪个UpdatePanel导致部分(异步)P
- 为ASP.NET应用程序实现后台服务的最佳方法是什么
- asp.net – 处理缓存和浏览器后退按钮的最佳方法
热点阅读