登録用紙を作っています。送信時に、メールアドレスがデータベースに既に登録されているかどうかを確認します。この場合、空のメールアドレスを使用して登録フォームに再度リダイレクトします。
フォームは入力されていますが、メールアドレスはユーザーが最初に入力したもののままです。これはどのように可能ですか?これが私のコードの一部です
かみそりのページ
@model LibModels.User
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend></legend>
<div class="row">
@Html.LabelFor(model => model.userEmail)
@Html.EditorFor(model => model.userEmail)
@Html.ValidationMessageFor(model => model.userEmail)
</div> <p>
<input id="knop" type="submit" value="Create" />
</p>
</fieldset>
}
コントローラ
[HttpPost]
public ActionResult Register(User viewModel)
{
User usr = Adapter.UserRepository.Single(u => u.userEmail.Equals(viewModel.userEmail));
if (usr == null)
{
viewModel.userCreatedDate = DateTime.Now;
Adapter.UserRepository.Insert(viewModel);
Adapter.Save();
}
else
{
viewModel.userEmail = "";
return View(viewModel);
}
return RedirectToAction("Index");
}
この電子メールアドレスがデータベースに既に存在することを検証で警告するのもよいでしょう。これを行う最善の方法は何ですか?