ASP.net MVC应用程序中的数据验证

时间:2017-02-20 09:28:01

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

我在MVC中使用asp.net的一个应用程序。现在我必须为每个输入提供验证。因为我是MVC的新手,并不太了解如何提供验证。任何人都可以帮我解决这个问题。

上传                                              

在上面的代码中接受最大日期值和最小数据值。 它应该首先接受最小日期(发布日期)值,然后接受最大日期(到期日期)秒。但它现在正在反向工作。 任何人都可以帮我提供验证。

1 个答案:

答案 0 :(得分:0)

您可以在此设置双向验证 一个是客户端,另一个是服务器端

下面给出的服务器端验证

您可以将发布日期与当前日期/时间进行比较,并将到期日期与发布日期进行比较

public class MyClass : IValidatableObject
{               
    [Required(ErrorMessage="issued date and time cannot be empty")]
    //validate:Must be greater than current date
    [DataType(DataType.DateTime)]
    public DateTime issuedDateTime { get; set; }

    [Required(ErrorMessage="expiry date and time cannot be empty")]
    //validate:must be greater than issuedDate
    [DataType(DataType.DateTime)]
    public DateTime expiryDateTime { get; set; }       

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        List<ValidationResult> results = new List<ValidationResult>();

        if (issuedDateTime < DateTime.Now)
        {
            results.Add(new ValidationResult("issued date and time must be greater than current time", new []{"issuedDateTime"}));
        }

        if (expiryDateTime <= issuedDateTime)
        {
            results.Add(new ValidationResult("expiryDateTime must be greater that issuedDateTime", new [] {"expiryDateTime"}));
        }

        return results;
    }     
}

我希望它会对你有所帮助。