相关疑难解决方法(0)

MVC自定义验证:比较两个日期

我创建了一个自定义ValidationAttribute来比较2个日期,并确保第二个日期大于第一个日期:

public sealed class IsDateAfter : ValidationAttribute, IClientValidatable
{
    private readonly string testedPropertyName;
    private readonly bool allowEqualDates;

    public IsDateAfter(string testedPropertyName, bool allowEqualDates = false)
    {
        this.testedPropertyName = testedPropertyName;
        this.allowEqualDates = allowEqualDates;
    }

    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        var propertyTestedInfo = validationContext.ObjectType.GetProperty(this.testedPropertyName);
        if (propertyTestedInfo == null)
        {
            return new ValidationResult(string.Format("unknown property {0}", this.testedPropertyName));
        }

        var propertyTestedValue = propertyTestedInfo.GetValue(validationContext.ObjectInstance, null);

        if (value == null || !(value is DateTime))
        {
            return ValidationResult.Success;
        }

        if (propertyTestedValue == null || !(propertyTestedValue is …
Run Code Online (Sandbox Code Playgroud)

validation asp.net-mvc jquery asp.net-mvc-3

62
推荐指数
1
解决办法
3万
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-3 ×1

jquery ×1

validation ×1