MVC検証を使用して、データベースで名前とパスワードの使用が終了するかどうかを確認しています。ModelState.IsValid
一致するユーザーが見つからなかった場合でも、常にtrueです。
if (objModel != null)
{
if (ModelState.IsValid && Membership.ValidateUser(objUsersModel.UserName, objUsersModel.Password))
{
Profile.Initialize(objUsersModel.UserName.Trim(), true);
FormsAuthentication.SetAuthCookie(objUsersModel.UserName, false);
return RedirectToAction("Index", "Home");
}
}
これをfalseに設定し、mvcビューでエラーメッセージの値を設定するにはどうすればよいですか。これが私のMVCビューです。
<form role="form">
<div class="form-group">
<label for="exampleInputEmail1">User Name </label>
<i class="fa fa-user"></i>
@Html.TextBoxFor(m => m.UserName, new { maxlength = 50, @class = "form-control" })
@Html.ValidationMessageFor(u => u.UserName)
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<i class="fa fa-lock"></i>
@Html.PasswordFor(m => m.Password, new { maxlength = 50, @class = "form-control" })
@Html.ValidationMessageFor(u => u.Password)
</div>
<div class="form-actions">
<label class="checkbox"> <input type="checkbox" class="uniform" value=""> Remember me</label>
<button type="submit" class="btn btn-danger">Submit</button>
</div>
</form>
ModelState
ユーザー名とパスワードが無効な場合は、エラーを追加してビューを返す必要があります
if (!ModelState.IsValid)
{
return View(yourModel);
}
if (!Membership.ValidateUser(objUsersModel.UserName, objUsersModel.Password)
{
ModelState.AddModelError(string.Empty, "The user name or password is incorrect");
return View(yourModel);
}
....
return RedirectToAction("Index", "Home");
ビューに含める
@Html.ValidationSummary(true)
メッセージを表示するには
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加