asp.net-mvc – ASP.NET MVC中的动态范围验证2
发布时间:2020-12-15 22:47:31 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET MVC2,并尝试使用System.ComponentModel.DataAnnotations命名空间中的属性验证我的视图模型. 如何动态设置RangeAttribute的允许有效范围? 例如,如果我想验证输入的日期是否在预期范围内. 这不编译: [Range(typeof(DateTime),DateTime.Tod
我正在使用ASP.NET MVC2,并尝试使用System.ComponentModel.DataAnnotations命名空间中的属性验证我的视图模型.
如何动态设置RangeAttribute的允许有效范围? 这不编译: [Range(typeof(DateTime),DateTime.Today.ToShortDateString(),DateTime.Today.AddYears(1).ToShortDateString())] public DateTime DeliveryDate { get; set; } 因为“属性参数必须是一个常量表达式,typeof表达式或数组创建表达式的属性参数类型”. 我需要诉诸创建我自己的自定义验证器吗? 解决方法
好的,找到答案. .NET Framework 4提供了一个新的CustomValidationAttribute,这使得以下可能:
[Required] [DisplayName("Ideal Delivery Date")] [CustomValidation(typeof(HeaderViewModel),"ValidateDeliveryDate")] public DateTime DeliveryDate { get; set; } public static ValidationResult ValidateDeliveryDate(DateTime deliveryDateToValidate) { if (deliveryDateToValidate.Date < DateTime.Today) { return new ValidationResult("Delivery Date cannot be in the past."); } if (deliveryDateToValidate.Date > DateTime.Today.AddYears(1)) { return new ValidationResult("Delivery Date must be within the next year."); } return ValidationResult.Success; } http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.customvalidationattribute%28VS.100%29.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 最小化Azure存储出站数据成本的策略
- asp.net-mvc – 具有引导Navbar的MVC – 将所选项目设置为活
- asp.net-mvc – 通过Web Api接收,发送文件
- asp.net – 如何在转发器中每行显示x个项目?
- asp.net-mvc – View中的意外NullReferenceException
- asp.net-mvc – RedirectToAction重定向查询参数?
- asp.net-mvc – 当使用AutoMapper / AutoMapViewResult时如
- ASP.NET Core 1.0 WebSocket安装?
- asp.net – 为什么HttpUtility.UrlPathEncode标记为“不使用
- asp.net – 在.aspx页面上显示图像的字节
推荐文章
站长推荐
热点阅读