Château validateurs comment Valider est Lesser / Supérieur ou égal
-
20-09-2019 - |
Question
Je vois les attributs ValidateIsLesser et ValidateIsGreater. Mais si je veux faire un ValidateIsLesserOrEqual et / ou ValidateIsGreaterOrEqual. Ai-je besoin juste d'écrire ces attributs personnalisés ou est-il des capacités pré-construit pour cela que j'ai une conclusion du mal?
[ValidateNonEmpty]
[ValidateDate]
[ValidateIsLesser(IsLesserValidationType.Date, "EndDate", "Start Date must be before End Date.")]
public DateTime StartDate { get; set; }
[ValidateNonEmpty]
[ValidateDate]
[ValidateIsGreater(IsGreaterValidationType.Date, "StartDate", "End Date must be after the Start Date.")]
public DateTime EndDate { get; set; }
La solution
Vous pouvez utiliser le ValidateSelf attribut et fournir votre propre validation pour les comparaisons OrEqual:
[ValidateNonEmpty]
[ValidateDate]
public DateTime StartDate { get; set; }
[ValidateNonEmpty]
[ValidateDate]
public DateTime EndDate { get; set; }
[ValidateSelf]
public void ValidateDate(ErrorSummary errors)
{
if (StartDate >= EndDate)
errors.RegisterErrorMessage("StartDate", "Start date must be earlier than end date.");
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow