Validator.TryValidateValue()
kullanmak istiyorum ancak mekaniği anlamıyorum. De ki, ben şu var:Veri'de DoğrulamaKontext'i AnlamaAnlatılar
public class User {
[Required(AllowEmptyStrings = false)]
[StringLength(6)]
public string Name { get; set; }
}
ve yöntemi:
public void CreateUser(string name) {...}
Benim doğrulama kodudur:
ValidationAttribute[] attrs = bit of reflection here to populate from User class
var ctx = new ValidationContext(name, null, null);
var errors = new List<ValidationResult>();
bool valid = Validator.TryValidateValue(name, ctx, errors, attrs);
name
değeri null
kadar iyi çalışır. ValidationContext
'u başlatırken ArgumentNullException
alıyorum ve nedenini anlamıyorum. TryValidateValue()
ayrıca null olmayan bir içerik ister. Doğrulamak için bir değer ve bir nitelikler listesi var. Bu ValidationContext
nedir?
Önceden bununla aldatılmamış olmanız, nesne türünü ValidationContext'e iletmeniz gerektiğini görmüyor, bu nedenle null olmayan bir Kullanıcı örneğinden geçiriliyorsunuz. –
DataAnnotation özniteliğini özelleştirmek isterseniz, [gönderim] 'e (http://weblogs.asp.net/thangchung/archive/2010/06/25/extending-resource-provider-for-soring- resources-in-the-database.aspx) Ayrıca, doğrulayıcıyı da özelleştirirsiniz. – thangchung