У меня есть две даты в моем представлении бритвы, и мне нужно проверить это, и с помощью аннотации данных отобразить ошибку, если До даты меньше даты. когда я запускаю код в режиме отладки, возникает точка останова, но ошибка не отображается на странице. он снова отображает форму таким же образом, если состояние модели недействительно. Ниже мой код, я делаю что-то не так.
public class AcctViewModel: IValidatableObject
{
[Key] public long AccountId { get; set;}
[Display(Name = "Account Name"), DataType(DataType.Text), StringLength(15), Required]
public string AcctName {get;set;}
[Display(Name = "From Date"), DataType(DataType.Date), Required]
public DateTime FromDate { get; set; }
[Display(Name = "To Date"), DataType(DataType.Date), Required]
public DateTime ToDate { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
List<ValidationResult> errors = new List<ValidationResult>();
if (ToDate < FromDate)
{
errors.Add(new ValidationResult($"{nameof(ToDate)} needs to be greater than From date.", new List<string> { nameof(ToDate) }));
}
return errors;
}
}
<div class="form-row">
<div class="col-md-12">
<div class="form-group form-group--float">
<input class="form-control date-picker" asp-for="ToDate">
<label asp-for="ToDate"></label>
<div class="invalid-tooltip"><span asp-validation-for="ToDate"></span></div>
<i class="form-group__bar"></i>
</div>
</div>
</div>
</div>