我有一個灑有DataAnnotation屬性的對象圖,其中對象的某些屬性是本身具有驗證屬性的類,等等。DataAnnotations:遞歸驗證整個對象圖
在以下情形:
public class Employee
{
[Required]
public string Name { get; set; }
[Required]
public Address Address { get; set; }
}
public class Address
{
[Required]
public string Line1 { get; set; }
public string Line2 { get; set; }
[Required]
public string Town { get; set; }
[Required]
public string PostalCode { get; set; }
}
如果我嘗試驗證的Employee
的Address
沒有價值PostalCode
,那麼我想(和期望)例外,但我得到沒有。下面是我如何做它:
var employee = new Employee
{
Name = "Neil Barnwell",
Address = new Address
{
Line1 = "My Road",
Town = "My Town",
PostalCode = "" // <- INVALID!
}
};
Validator.ValidateObject(employee, new ValidationContext(employee, null, null));
我有什麼其他的選擇與Validator
,以確保所有的屬性進行驗證遞歸?
非常感謝提前。
+ 1爲好的解決方案 – Jehof
不錯,但收集呢?能夠驗證諸如「公共IList
地址」這樣的屬性是非常棒的。無論如何,感謝您的解決方案。 – altso該屬性不爲我評估。 –