Вы можете написать свой собственный ValidationAttribute
и украсить им имущество.Вы переопределяете метод IsValid
своей собственной логикой.
public class MyAwesomeDateValidation : ValidationAttribute
{
public override bool IsValid(object value)
{
DateTime dt;
bool parsed = DateTime.TryParse((string)value, out dt);
if(!parsed)
return false;
// eliminate other invalid values, etc
// if contains valid hour for your business logic, etc
return true;
}
}
И, наконец, украшаете свою собственность:
[MyAwesomeDateValidation(ErrorMessage="You were born in another dimension")]
public object V_58 { get; set; }
Примечание. Остерегайтесь нескольких атрибутов проверки ваших свойств, так какпорядок, в котором они оцениваются, не может быть определен без дополнительной настройки, и впоследствии, если логика проверки перекрывается, ваши сообщения об ошибках могут не точно описывать, что именно вы имеете в виду, что ошибаетесь со свойством (да, это условное предложение)