DataAnnotation özniteliklerine serpilmiş bir nesne grafiğim var; burada nesnelerin bazı özellikleri, kendilerinin doğrulama öznitelikleri olan sınıflardır ve bu şekilde devam eder. Aşağıdaki senaryodaDataAnnotations: Tüm nesne grafiğini yinelemeli olarak doğrular
:
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; }
}
Ben PostalCode
için bir Employee
'ın Address
hiçbir değerle doğrulamaya çalışır, o zaman gibi (ve beklemek) bir istisna, ama hiçbiri tanınacak. İşte ben yapıyorum nasıl:
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));
yinelemeli
doğrulanır tüm özellikleri sağlayacak Validator
ile gelmiş Başka ne seçenek? Şimdiden çok teşekkürler.
+ 1 iyi çözüm için – Jehof
Güzel, ama koleksiyonlar ne olacak? Bu 'public IList
Adresleri' gibi özellikleri doğrulamak için yeteneği olması harika olurdu. Her neyse, çözüm için teşekkürler. – altsoBu özellik benim için değerlendirilmiyor. –