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的一個問題,但仍然沒有找到在哪裏或爲什麼。