【发布时间】:2023-03-31 18:48:01
【问题描述】:
我想对年龄大于或等于 18 的日期进行自定义验证。
任何一个想法都可以使用 mvc4 进行自定义验证吗?
如果有任何解决方案,请告诉我..
问候
【问题讨论】:
-
我想从 datepicker 选择日期进行年龄验证...请让我知道任何人已经实现了自定义验证..
标签: asp.net-mvc-4 razor customvalidator model-validation
我想对年龄大于或等于 18 的日期进行自定义验证。
任何一个想法都可以使用 mvc4 进行自定义验证吗?
如果有任何解决方案,请告诉我..
问候
【问题讨论】:
标签: asp.net-mvc-4 razor customvalidator model-validation
只需使用Range 验证器:
[Range(18, int.MaxValue)]
public int Age { get; set; }
它在System.ComponentModel.DataAnnotations 命名空间中可用。
更新
要验证至少 18 年前的日期,您可以使用如下自定义验证属性:
public class Over18Attribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
string message = String.Format("The {0} field is invalid.", validationContext.DisplayName ?? validationContext.MemberName);
if (value == null)
return new ValidationResult(message);
DateTime date;
try { date = Convert.ToDateTime(value); }
catch (InvalidCastException e) { return new ValidationResult(message); }
if (DateTime.Today.AddYears(-18) >= date)
return ValidationResult.Success;
else
return new ValidationResult("You must be 18 years or older.");
}
}
【讨论】: