ユーザーが次のページに移動する前にチェックする必要があるチェックボックスがいくつかあります。検証メッセージを表示する最良の方法は何ですか?
意見:
@Html.CheckBox("terms_eligibility")
@Html.CheckBox("terms_accurate")
@Html.CheckBox("terms_identity_release")
@Html.CheckBox("terms_score_release")
コントローラ:
[HttpPost]
public ActionResult Review(ReviewModel model)
{
// Make sure all Terms & Conditions checkboxes are checked
var termsEligibility = Request.Form.GetValues("terms_eligibility")[0];
var termsAccurate = Request.Form.GetValues("terms_accurate")[0];
var termsIdentityRelease = Request.Form.GetValues("terms_identity_release")[0];
var termsScoreRelease = Request.Form.GetValues("terms_score_release")[0];
if (termsEligibility == "true" && termsAccurate == "true" &&
termsIdentityRelease == "true" && termsScoreRelease == "true")
{
return RedirectToAction("CheckOut","Financial");
}
return null;
}
編集、
提案された変更を行いました。エラーメッセージを表示する同じページを取得するにはどうすればよいですか?
モデルの属性をこれに変更します
[RequiredToBeTrue(ErrorMessage = "*")]
コントローラーはこちら
[HttpPost]
public ActionResult Review(ReviewModel model)
{
if(ModelState.IsValid)
{
return RedirectToAction("CheckOut", "Financial");
}
return RedirectToAction("Review");
}