asp.net-mvc – 我可以从Model类(而不是控制器)添加ModelState.A
发布时间:2020-12-16 04:30:11 所属栏目:asp.Net 来源:网络整理
导读:我想使用ModelState.AddModelError()在ASP.MVC 3输入表单中向用户显示错误,以便它自动突出显示右侧字段并将错误放在特定字段旁边. 在大多数示例中,我看到ModelState.AddModelError()和if(ModelState.IsValid)放在Controller中.但是,我想将验证逻辑移动/集中
我想使用ModelState.AddModelError()在ASP.MVC 3输入表单中向用户显示错误,以便它自动突出显示右侧字段并将错误放在特定字段旁边.
在大多数示例中,我看到ModelState.AddModelError()和if(ModelState.IsValid)放在Controller中.但是,我想将验证逻辑移动/集中到模型类.我可以让模型类检查模型错误并填充ModelState.AddModelError()吗? 现行代码: // Controller [HttpPost] public ActionResult Foo(Bar bar) { // This model check is run here inside the controller. if (bar.isOutsideServiceArea()) ModelState.AddModelError("Address","Unfortunately,we cannot serve your address."); // This is another model check run here inside the controller. if (bar.isDuplicate()) ModelState.AddModelError("OrderNumber","This appears to be a duplicate order"); if (ModelState.IsValid) { bar.Save(); return RedirectToAction("Index"); } else return View(bar) } 期望代码: // Controller [HttpPost] public ActionResult Foo(Bar bar) { // something here to invoke all tests on bar within the model class if (ModelState.IsValid) { bar.Save(); return RedirectToAction("Index"); } else return View(bar) } ... // Inside the relevant Model class if (bar.isOutsideServiceArea()) ModelState.AddModelError("Address",we cannot serve your address."); if (bar.isDuplicate()) ModelState.AddModelError("OrderNumber","This appears to be a duplicate order"); 解决方法
如果你正在使用MVC 3,你应该结账
IValidatableObject,这就是你所追求的.
Scott Gu在他的MVC3 Intro博客文章中提到了这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC – 当参数为null时绑定空集合
- asp.net – 在新的VS 2013 Identity UserManager中动态添加
- asp.net-core – 在VS 2015 RC中,编译保存不适用于ASP.NET
- asp。net内置委托
- asp.net – 如何使用SMTP通过Exchange Server发送邮件
- asp.net – 如何防止低效的SQL查询减慢数据库服务器的速度
- ASP.NET-MVC 2 RC最佳功能
- 白话ASP.NET MVC之一:Url 路由
- asp.net-mvc-3 – MVC3和认证
- datetime – 将时间转换为UTC vbScript
推荐文章
站长推荐
- asp.net-mvc-5 – 在禁用的TextBoxFor中只读是什
- asp.net-mvc – 在MVC3中扩展ClaimsIdentity
- asp.net-mvc – asp.net中的奇怪图像生成错误
- asp.net-core-2.1 – 如何在asp.net Core 2.1.1中
- asp.net-mvc-4 – NReco.PdfGenerator服务器上的
- asp.net – 使下拉列表项不可选
- asp.net-mvc-4 – 工作单元和通用存储库与实体框
- asp.net – AdBlock在.NET 4.5网站上阻止CSS和图
- asp.net-mvc-3 – Apress Pro Asp.net MVC框架3
- asp.net – Model-View-Presenter,View的界面属于
热点阅读