我对表单的验证打破了我用于复选框的JavaScript。
以下是表格:
@using (Html.BeginForm("HomeEquityFinal", "Home", FormMethod.Post))
{
<div class="row">
<div class="col-md-offset-4">
<div class="checkbox disabled">
<label>
@Html.CheckBoxFor(m => m.Terms, new { id = "termsCheck", disabled = "disabled" }) I agree to the <a data-toggle="modal" data-target="#termsModal">Terms and Conditions</a><br />
@Html.ValidationMessageFor(x => x.Terms)<br/>
@Html.CheckBoxFor(m => m.Terms1, new { id = "termsCheck1", disabled = "disabled" }) I agree to the <a data-toggle="modal" data-target="#termsModal1">Terms and Conditions</a><br />
@Html.ValidationMessageFor(x => x.Terms1)
</label>
</div>
</div>
</div>
}
这是javascript:
$('#confirm').click(function () {
$("#termsModal").modal('hide');
$("#termsCheck").attr('checked', 'checked');
return false;
});
$('#confirm1').click(function () {
$("#termsModal1").modal('hide');
$("#termsCheck1").attr('checked', 'checked');
return false;
});
我的模型验证:
[Range(typeof(bool), "true", "true", ErrorMessage = "Please agree to the terms and conditions.")]
public bool Terms { get; set; }
[Range(typeof(bool), "true", "true", ErrorMessage = "Please agree to the terms and conditions.")]
public bool Terms1 { get; set; }
我相信在控制器中放置!modelstate.isvalid会导致问题。表格会在会议中完成所有内容。
这是我的控制器的一部分
var notes = model.HomeEquityDetails.Notes;
model = Session["HomeEquityConfirmation"] as HomeEquityConfirmationViewModel;
if (!ModelState.IsValid)
{
model = Session["HomeEquityConfirmation"] as HomeEquityConfirmationViewModel;
return View(model);
}
当我提交表格并经过验证后,我再也无法点击我的确认按钮并进入检查框并转到下一页 - 它只是不断回帖说这些字段是必需的。
在代码中,它有一个标记为false的隐藏字段。如果我在开发人员工具中将其更改为true,我可以继续。
主要问题似乎是在回发时破坏了JavaScript。
任何帮助都将不胜感激。