Понимание ValidationContext в DataAnnotations

Я хочу использовать Validator.TryValidateValue () , но не разбираться в механике. Скажем, у меня есть следующее:

public class User {
    [Required(AllowEmptyStrings = false)]
    [StringLength(6)]
    public string Name { get; set; }
}

и метод:

public void CreateUser(string name) {...}

Мой код проверки:

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 не будет null . Я' m получает ArgumentNullException при создании экземпляра ValidationContext и не понимаю почему. TryValidateValue () также требует ненулевого контекста. У меня есть значение и список атрибутов для проверки. Что это за ValidationContext для?

19
задан UserControl 1 December 2010 в 09:17
поделиться