MVC проверяет строго типизированные представления - PullRequest
0 голосов
/ 05 октября 2010

У меня есть следующая ViewModel:

    public IEnumerable<SelectListItem> SelectAdminsInGroup { get; set; }
    public IEnumerable<SelectListItem> SelectAdminsNotInGroup { get; set; }
    public model.Admin Admin { get; set; }

Класс администратора:

[PropertiesMustMatchAttribute ("Password", "ConfirmPassword")] открытый класс Admin {public Admin () {this.PasswordDate= DateTime.Now;this.Username = string.Empty;}

    public virtual int AdminId { get; set; }

    [Required(ErrorMessage = "Field 'Username' is required"), StringLength(20, ErrorMessage = "Field 'Username' must be less than 20 characters long")]
    public virtual string Username { get; set; }
    public virtual string Oldusername { get; set; }

    [ValidatePasswordLength()]
    public virtual string Password { get; set; }
    public virtual string ConfirmPassword { get; set; }


    public virtual ICollection<AdminGroup> AdminGroup { get; set; }
}

Теперь по какой-то причине PropertiesMustMatch никогда не отображает сообщение об ошибке в сводке проверки.я также заметил, что один из ключей ModelState содержит «Admin» для «PropertiesMustMatchAttribute», и он должен быть пустым, поскольку это будет сообщение об ошибке class / summary.Как мне проверить мою пользовательскую модель?спасибо

1 Ответ

2 голосов
/ 05 октября 2010

Валидаторы уровня типа (например, PropertiesMustMatchAttribute) запускаются, только если все валидаторы уровня свойств выполнены успешно.Если средство проверки уровня свойства завершается неудачно, средство проверки уровня типа не будет запущено.Вы провалили проверку "ValidatePasswordLength"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...