开机自检前单选按钮验证



我想确保用户选择所问问题的答案。我已经尝试了JQuery,自定义验证类,将模型属性设置为必需。总而言之,如果未选择单选按钮,则会显示错误消息,用户必须先选择一个答案,然后才能继续下一个问题。

这是没有ValidationMessageFor的HTML/Razor,因为它不起作用。

@using (Html.BeginForm("Question", "PreRegistration", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
 @if (Model.Questions.fldAnswerType == "Radio")
  {
    <form id="myForm" name="myForm">
        <div class="form-group">
            <div style="margin-left: 20px;">
                @{
                    if (Model.Questions.fldOption1 != null)
                    {
                        <div class="radio">
                            @Html.RadioButton("Radio", @Model.Questions.fldOption1, new { @class = "myGroup" }) @Model.Questions.fldOption1                             
                        </div>
                    }
                    if (Model.Questions.fldOption2 != null)
                    {
                        <div class="radio">
                            @Html.RadioButton("Radio", @Model.Questions.fldOption2, new { @class = "myGroup" }) @Model.Questions.fldOption2                             
                        </div>
                    }
                    if (Model.Questions.fldOption3 != null)
                    {
                        <div class="radio">
                            @Html.RadioButton("Radio", @Model.Questions.fldOption3, new { @class = "myGroup" }) @Model.Questions.fldOption3
                        </div>
                    }
                    if (Model.Questions.fldOption4 != null)
                    {
                        <div class="radio">
                            @Html.RadioButton("Radio", @Model.Questions.fldOption4) @Model.Questions.fldOption4
                        </div>
                    }
                    if (Model.Questions.fldOption5 != null)
                    {
                        <div class="radio">
                            @Html.RadioButton("Radio", @Model.Questions.fldOption5) @Model.Questions.fldOption5
                        </div>
                    }
                    if (Model.Questions.fldOption6 != null)
                    {
                        <div class="radio">
                            @Html.RadioButton("Radio", @Model.Questions.fldOption6) @Model.Questions.fldOption6
                        </div>
                    }
                }
            </div>
        </div>
    </form>
<input type="submit" value="Next" id="btn" class="btn btn-primary" />

我花了一整天的时间试图让它工作,但我不能......

[HttpPost]
public ActionResult Question(FormCollection collection, Questions questions)
{
   if (!ModelState.IsValid)
   {
     var viewModel = new RegistrationViewModel
      {
        Questions = questions,
        Responses = response
      };
     return View("Question", viewModel);
   }
 }

我回发的问题模型始终为空,所以我假设这就是模型状态始终有效的原因?

任何指示将不胜感激

试试这个:

HttpPost] public ActionResult Question(FormCollection collection, Questions questions)
{
    if (ModelState.IsValid)
    {
        var viewModel = new RegistrationViewModel { Questions = questions, Responses = response };
        return View("Question", viewModel);
    }
}
Response.next page 

最新更新