Я пытаюсь подтвердить, что пользователь меняет свой пароль. Класс PasswordChange, который получает этот actionresult, имеет 4 свойства. одним из которых является databasePassword, который сравнивается со свойством «CurrentPassword», которое гарантирует, что пользователь может изменить свой пароль, только если он знает свой текущий пароль (довольно стандартная процедура на веб-сайтах)
Проблема у меня в том, что пароль базы данных устанавливается (как показано) только внутри ActionResult, но ModelState, кажется, вызывается до этого, поэтому он возвращает false в «IsValid», поскольку он видит пароль базы данных как «NULL» даже после пароль базы данных установлен
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ChangePassword(PasswordChange model)
{
var User = GetPlayer().User;
model.databasePassword = User.Password;
if (ModelState.IsValid)
{
//update the users password
User.Updated = SystemDate.Current();
User.Password = model.newPassword.ToLower();
return Redirect("/Player");
}
else
{
return View(model);
}
}
Как мне переоценить это или заставить его оценить, когда я этого хочу!