model-view-controller – 具有多个ViewModel的MVC 3 ModelState
发布时间:2020-12-16 03:53:56 所属栏目:asp.Net 来源:网络整理
导读:我们假设我有一个由3个其他ViewModel组成的ViewModel.一个包含项目列表,另一个包含具有[Required]属性的类的实例,然后包含另一个其他项的列表. 如果用户从两个列表中的任何一个列表中选择一个项目,我不希望第二个对象上的[Required]属性导致ModelState无效,
我们假设我有一个由3个其他ViewModel组成的ViewModel.一个包含项目列表,另一个包含具有[Required]属性的类的实例,然后包含另一个其他项的列表.
如果用户从两个列表中的任何一个列表中选择一个项目,我不希望第二个对象上的[Required]属性导致ModelState无效,因为如果用户选择其中一个项目,它们将不会需要使用[Required]属性填写表单. 我怎么解决这个问题? 解决方法
一种选择是使用ModelState.Remove(“KeyName”)删除“违规”验证.我有完全相同的方案,并实现了以下内容:
var MyModel = _someService.GetModelById(id); TryUpdateModel(MyModel); ModelState.Remove("MyModel.OffendingField"); if (ModelState.IsValid) { ... } 尽管如此,确保在代码的其他区域不会产生连锁反应非常重要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 如何挂钩错误的jQuery验证不引人注目的MV
- asp.net-mvc – ASP.NET MVC开源实境应用
- asp.net-mvc – MVC4 SimpleMemberhip’提供商遇到了未知错
- asp.net – executionTimeout和Server.ScriptTimeout之间的
- asp.net-mvc – XmlMediaTypeFormatter无法编写ObjectQuery
- asp.net-mvc – Html.Hidden字段未设置
- asp.net-mvc – ASP.NET MVC RenderAction重新呈现整个页面
- BreezeJS vs JayData for ASP开发ASP.NET MVC
- asp.net-mvc – 在哪里提出持久性依赖的域事件 – 服务,存储
- asp.net – 如何绕过X框架选项:SAMEORIGIN HTTP头?
推荐文章
站长推荐
- asp.net – Web API将OAuth令牌作为XML返回
- 收藏的asp.net文件上传类源码
- asp.net – Text 4.5中的文本.NET 4.5中的Time属
- entity-framework – ViewModels和MVC中Entity F
- iis-7 – ASP 3.0应用程序对象
- asp.net – 在创建cookie时,如何指定www而不是ww
- asp.net-mvc – 如何访问querystring在ASP.Net M
- asp.net – 提供HTTP401 Not Authorized错误的VB
- 浅谈ASP.NET MVC 防止跨站请求伪造(CSRF)攻击的实
- asp.net-mvc – 调用SaveChanges()时从更新中排除
热点阅读