ASP NET, как добавить условие в аннотацию проверки модели? - PullRequest
0 голосов
/ 26 июня 2019

В моей форме есть функция подтверждения пароля.Но если пользователь уже вошел в систему, я скрываю поля пароля и пароляConfirmation из этой формы.

Когда эта форма отправлена, если браузер сохранил какое-либо поле «пароль» с веб-сайта, моя модель проверяетсяпароль подтверждения, что приводит к ошибке.

Как добавить условие к этой проверке, чтобы оно не срабатывало, если пользователь уже вошел в систему.

    [Display(Name="Confirm Password")]
    [DataType(DataType.Password)]
    [System.ComponentModel.DataAnnotations.Compare("Password", ErrorMessage = "Passwords do not match")]
    [RequiredIfEqual("LoggedIn", false, ErrorMessage = "This field is required")]
    public string PasswordConfirm { get; set; }

1 Ответ

1 голос
/ 26 июня 2019

Вы не можете добавить условие по умолчанию Compare Атрибут.

Вы можете написать собственный атрибут для вашего требования, в атрибуте вы можете получить HttpContext.Current.Session["Login"] != null и проверить свою логику.

Вы можете сослаться на это для реализации пользовательского атрибута сравнения

https://www.codeproject.com/Tips/780992/Asp-Net-MVC-Custom-Compare-Data-annotation-with-Cl

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