Castillo validadores cómo validar Es Menor / Mayor o igual
-
20-09-2019 - |
Pregunta
Veo el ValidateIsLesser y ValidateIsGreater atributos. Pero lo que si quiero hacer un ValidateIsLesserOrEqual y / o ValidateIsGreaterOrEqual. Hago sólo hay que escribir estos atributos personalizados o hay pre-construidos capacidades para esto que estoy teniendo un tiempo difícil encontrar?
[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; }
Solución
Puede utilizar el ValidateSelf atributo y proporcionar su propia validación para las comparaciones 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.");
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow