我在MVC中使用asp.net的一个应用程序。现在我必须为每个输入提供验证。因为我是MVC的新手,并不太了解如何提供验证。任何人都可以帮我解决这个问题。
上传
在上面的代码中接受最大日期值和最小数据值。 它应该首先接受最小日期(发布日期)值,然后接受最大日期(到期日期)秒。但它现在正在反向工作。 任何人都可以帮我提供验证。
答案 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;
}
}
我希望它会对你有所帮助。