所以,我有这个DateRange自定义验证属性
public class DateRange : System.ComponentModel.DataAnnotations.ValidationAttribute
{
public override bool IsValid(object value)
{
return (DateTime) value >= DateTime.Now;
}
}
我在视图(Kendo Grid)中有一个字段,用户提交日期(某种类型的DatePicker);
对于我的viewModel中的这个DateTime
[Required]
[DataType(DataType.Date)]
[DateRange(ErrorMessage = "Invalid date")]
[DisplayName("Expiration Date")]
public DateTime ExpirationDate { get; set; }
现在它就像'当用户提交模型时,它没有通过验证';
(product != null && ModelState.IsValid) //doesnt pass with invalid date
我希望它如何工作:它会弹出消息'日期应该是bla-bla'并且在用户输入有效日期之前不要让用户提交。我知道这是可能的,因为正则表达式注释会为其他字段执行此类行为。
我怎样才能做到这一点?
谢谢大家:)