我想对年龄大于或等于 18 的日期进行自定义验证。
任何一个想法都可以使用 mvc4 进行自定义验证吗?
请让我知道是否有任何解决方案..
问候
我想对年龄大于或等于 18 的日期进行自定义验证。
任何一个想法都可以使用 mvc4 进行自定义验证吗?
请让我知道是否有任何解决方案..
问候
只需使用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.");
}
}