Ho un grafico oggetto cosparso di attributi DataAnnotation, dove alcune proprietà degli oggetti sono classi che hanno attributi di convalida e così via.DataAnnotazioni: convalida ricorsiva di un intero oggetto grafico
Nel seguente scenario:
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; }
}
Se provo a convalidare un s Employee
' Address
con alcun valore per PostalCode
, allora vorrei (e si aspettano) un'eccezione, ma ottengo nessuno. Ecco come lo sto facendo:
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));
Quali altre opzioni ho con Validator
in grado di garantire tutte le proprietà sono convalidati ricorsivamente?
Molte grazie in anticipo.
+ 1 per buona soluzione – Jehof
Bello, ma per quanto riguarda le raccolte? Sarebbe fantastico avere la possibilità di convalidare proprietà come questo 'public IList
Indirizzi. Ad ogni modo, grazie per la soluzione. – altsoL'attributo non viene valutato per me. –