【发布时间】:2018-02-21 14:24:20
【问题描述】:
在提交页面之前,我有一个复选框验证。但它反过来起作用。当我选中该框而不是相反时,它显示错误消息。我不知道我在哪里做错了。
我的视图模型
[Display(Name = "Terms and Conditions")]
[Range(typeof(bool), "true", "true", ErrorMessage = "Please accept Terms & Conditions")]
public bool IsTermsAccepted { get; set; }
我的观点
<div class="row col-lg-offset-2 top-buffer">
@Html.CheckBoxFor(model => model.IsTermsAccepted)
@Html.LabelFor(model => model.IsTermsAccepted)
<br>@Html.ValidationMessageFor(model => model.IsTermsAccepted)
</div>
感谢您的宝贵时间!
Edit1:我跟here一模一样
Edit2:我可以通过添加一个简单的脚本来解决这个问题(如上面提到的链接所示)
<script>
// extend range validator method to treat checkboxes differently
var defaultRangeValidator = $.validator.methods.range;
$.validator.methods.range = function(value, element, param) {
if(element.type === 'checkbox') {
// if it's a checkbox return true if it is checked
return element.checked;
} else {
// otherwise run the default validation function
return defaultRangeValidator.call(this, value, element, param);
}
}
【问题讨论】:
标签: c# html asp.net-mvc razor checkbox