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