管理者用と一般ユーザー用の「新規ユーザー」フォームがあります。どちらの形式も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
ですか?