Tôi có một đồ thị đối tượng rải rác với các thuộc tính DataAnnotation, trong đó một số thuộc tính của các đối tượng là các lớp mà chúng có thuộc tính xác nhận, vv.DataAnnotations: Recursively xác nhận toàn bộ đồ thị đối tượng
Trong các tình huống sau:
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; }
}
Nếu tôi cố gắng để xác nhận một Employee
's Address
không có giá trị cho PostalCode
, sau đó tôi muốn (và mong muốn) một ngoại lệ, nhưng tôi nhận được không. Đây là cách tôi đang làm nó:
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));
Những tùy chọn khác để tôi có với Validator
đó sẽ đảm bảo tất cả các thuộc tính được xác nhận đệ quy?
Rất cám ơn trước.
+ 1 cho giải pháp tốt – Jehof
Tốt, nhưng còn về bộ sưu tập thì sao? Thật tuyệt vời khi có khả năng xác thực các thuộc tính như 'địa chỉ ILI công khai
' này. Dù sao, cảm ơn cho giải pháp. – altsoThuộc tính không được đánh giá cho tôi. –