模型数据验证,检查日期小于X年前的日期

时间:2015-04-18 15:27:12

标签: asp.net asp.net-mvc validation unobtrusive-validation

如何添加模型验证以检查输入的日期是否小于日期X年,X天或其他任何时间?

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是创建一个新的自定义属性来处理这个问题 这是一个示例代码

 public class CheckDate: ValidationAttribute {
    public override ValidationResult IsValid(object value, ValidationContext validationContext) {
        DateTime dt = (DateTime)value;
        if (dt >= YOURDAteTime) {
            return ValidationResult.Success;
        }

        return new ValidationResult("Make sure your date is >= YOURDateTime");
    }

}

另一种方法是在客户端进行验证。这是你可以实现的JavaScript(它有很多其他有用的功能) 您要查找的方法是Date.compare 这是一个例子:Date.compare(date1, date2);

  

返回值:

     
    

{Number} -1 = date1小于date2。 0 =值相等。 1 = date1     是greaterthan date2。