asp.net-mvc-2 – MVC2:具有两个字段依赖性的验证(数据注释)
例:
我们有一个条件字段. 此条件字段是一个单选按钮,其中包含以下两个值“是”和“否”. 让我们说这个radiobutton的名字是“AAA”. 仅当另一个单选按钮字段“BBB”设置为“是”时,才应显示该条件字段“AAA”. (单选按钮“BBB”的值也是“是”而不是“). 但条件字段“AAA”应显示为NO预设值,表示首次显示该字段时应设置“是”或“否”. 该问题基于以下要求:当(非条件)字段“BBB”被设置为“是”时,仅需要条件字段“AAA” – 并且当字段“BBB”被设置为“否”时不需要”. (听起来,我没有听到关于if语句的任何内容,或者?但是继续阅读并继续阅读…) 相信我,当我们使用“Modelstate”时,解决这个问题对我来说不是问题 – 但我们在这里谈论的验证(数据注释)如下所示: public class Input1FormModel { [Required(ErrorMessageResourceName="Error_Field_AAA_Empty",ErrorMessageResourceType=typeof(Resources.MyDialog))] public int AAA { get; set; } } 我完全理解这些代码行 – 我相信;-) … //property limits public int UpperBound { get { return DateTime.Now.Year; } } public int LowerBound { get { return 1900; } } … [NotNullValidator] [PropertyComparisonValidator("LowerBound",ComparisonOperator.GreaterThan)] [PropertyComparisonValidator("UpperBound",ComparisonOperator.LessThanEqual)] public int? XYZ { get; set; } 但是,如何解决上述依赖性(AAA< -BBB)? 将“return DateTime.Now.Year;”更改为首先检查另一个字段并返回true或false的函数调用?但是如何获取其他字段的值呢? 解决方法
您可能需要使用IDataErrorInfo.
见this question,我回答了这个问题: 查看IDataErrorInfo和我问的关于IDataErrorInfo vs. DataAnnotations的这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-5 – 将属性路由限制为特定的HTTP谓词
- asp.net-mvc – 如何在MVC视图中使用Bootstrap按钮插件
- asp.net – asp文本框限制字符数?
- asp.net – 如何在转发器中每行显示x个项目?
- asp.net – IdentitySever3重定向多个域的URL
- 允许未经身份验证的用户使用ASP.Net表单身份验证访问特定页
- asp.net-mvc – asp.net中的奇怪图像生成错误
- asp.net – 使用“async”(即使它应该完成)作为MVC路由的一
- asp.net-mvc – mvc创建我自己的html帮助器,如何访问httpco
- asp.net – 下载文件时ASP.MVC会话丢失
- asp.net-mvc – 我的模型中名为Title的属性与我视
- asp.net-mvc – ASP.Net MVC风格包不包括大多数文
- asp.net-mvc-3 – MVC3重定向到ajax调用后的动作
- asp.net-mvc – ASP.NET MVC Preview 5 on Mono
- asp.net核心 – ViewData是ASP.NET 5(核心)的Vie
- 会话的最大长度是什么ASP.net 4.0会话ID – 存储
- ASP.NET Master Pages等效于Java
- asp.net web-api – ASP.net Web API RESTful We
- asp.net-mvc – 如何在没有模型的情况下为@ Html
- dependency-injection – ActionFilterAttribute