3
我遇到一些无法理解的验证逻辑behing DataAnnotation验证:ASP.NET MVC: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错误信息被只有在显示必需的属性是有效的:我无法同时获得这两个消息。任何人都知道为什么?我认为这是DefaultModelBinder的一个问题,但仍然没有找到在哪里或为什么。