编辑:
ModelState.AddModelError((LocationViewModel m) => m.Location, "Location not found");
当用户提交按钮时,我检查该位置是否存在,如果不存在,那么我在ModelState.AddmodelError中添加
Create Location
我的问题是:当用户点击Checkbox时 <span id="CreateNLocation" >
@Html.LabelFor(model => model.CreateLocation, "Create Location")
@Html.CheckBoxFor(model => model.CreateLocation)
</span>
如何让错误消失?
<span id="CreateNLocation" style="">
<label for="CreateLocation">Create Location</label>
<input data-val="true" data-val-required="The Create new Location field is required." id="CreateLocation" name="CreateLocation" type="checkbox" value="true">
在运行时呈现:
BuildAction
答案 0 :(得分:2)
根据您对问题的评论
$('#CreateLocation').change(function(){
if($(this).prop("checked")) {
$("span[data-valmsg-for='Location']").hide();
} else {
$("span[data-valmsg-for='Location']").show();
}
});
答案 1 :(得分:1)
如果你想根据是否选中了复选框来显示/隐藏它,这是一个JS小提琴示例。
$('#CreateLocation').click(function() {
var $checkbox = $('#CreateLocation');
var $errMsg = $(this).parents('#parent-example')
.find('.field-validation-error');
$checkbox.prop('checked') ? $errMsg.hide() : $errMsg.show();
});
答案 2 :(得分:0)
$('#CreateLocation').click(function() {
$('.field-validation-error).remove();
});
如果我正确理解您的问题,您只是想在选中复选框时让错误消失?如果是这样,这应该适合你。
编辑:误读了这个问题,我需要错误信息的标记(div,span,无论它是什么)。无论元素是什么,用正确的替换.remove()选择器。
$('#CreateLocation').click(function() {
$(this).parent(wrapper).find('.field-validation-error').remove();
});