Я хочу использовать 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
для?