У меня возникли проблемы с пониманием логики проверки, выполняющей валидацию DataAnnotation:
Со следующей моделью:
[AlwaysInvalid]
public class TestModel
{
[Required]
public string Test { get; set; }
}
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public class AlwaysInvalidAttribute : ValidationAttribute
{
private readonly object typeId = new object();
public AlwaysInvalidAttribute() : base("Fail !") {}
public override object TypeId { get { return this.typeId; } }
public override bool IsValid(object value)
{
return false;
}
}
Сообщение об ошибке AlwaysInvalidAttribute отображается только в том случае, если атрибут Required действителен:Я не могу получить оба сообщения одновременно.Кто-нибудь понял, почему?Я думаю, что это проблема с DefaultModelBinder, но до сих пор не нашел, где и почему.