У меня есть форма «Новый пользователь» как для администраторов, так и для обычных пользователей.В обеих формах используется RegisterModel
public class RegisterModel
{
[Required]
public string Name { get; set; }
public string Email { get; set; }
[Required]
public string Password { get; set; }
}
Разница в том, что на моей странице "Новый пользователь" я хочу, чтобы пользователи вводили свой пароль.Но в бэкэнде я хочу, чтобы система сгенерировала пароль.
Поскольку я использую один и тот же RegisterModel
для обеих форм, я получаю ошибку проверки в бэкэнде, говорящую Password is required.
.
Я думал, я мог бы решить эту проблему, добавив в свой контроллер следующее:
[HttpPost]
public ActionResult New(RegisterModel model)
{
model.Password = Membership.GeneratePassword(6, 1);
if (TryValidateModel(model))
{
// Do stuff
}
return View(model);
}
Но я все еще получаю сообщение об ошибке Password is required.
.Почему эта проблема возникает, когда я вызываю TryValidate
в моем контроллере?
Что было бы лучшим решением для этой проблемы, создайте отдельный RegisterModelBackEnd
или есть какие-то другие решения для этого?