通过jQuery在Html.ValidationMessageFor中显示自定义错误
Display Custom Errors in Html.ValidationMessageFor via jQuery
我的ASP.NET MVC 5应用程序的剃刀视图使用了两个复选框:
<div class="form-group">
@Html.LabelFor(model => model.BoolField1, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="checkbox">
@Html.EditorFor(model => model.BoolField1, new { htmlAttributes = new { @class = "form-control", @id = "bool1" } })
@Html.ValidationMessageFor(model => model.BoolField1, "", new { @class = "text-danger" })
</div>
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.BoolField2, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="checkbox">
@Html.EditorFor(model => model.BoolField2, new { htmlAttributes = new { @class = "form-control", @id = "bool2" } })
@Html.ValidationMessageFor(model => model.BoolField2, "", new { @class = "text-danger" })
</div>
</div>
</div>
我试图实现这样一个规则,即除非BoolField1也是真的,否则BoolField2不可能是真的。我的jquery代码:
function applyRule() {
var bool1Status = document.getElementById('bool1').checked;
var bool2Status = document.getElementById('bool2').checked;
if (bool2Status == true && bool1Status == false) {
// This is the sole error.
// Generate a suitable error message and display (how?)
}
}
在此代码中生成的自定义错误必须显示在Html.ValidationMessageFor中。如何实现这一点?
首先,您需要更正EditorFor()的语法,它应该像下面的一样
@Html.EditorFor(model => model.BoolField1, new { @class = "form-control", @id = "bool1" })
而不是
@Html.EditorFor(model => model.BoolField1, new { htmlAttributes = new { @class = "form-control", @id = "bool1" } })
现在,在进行了这个更正之后,您可以编写自定义jQuery逻辑来实现同样的目的。这是代码。
$(function () {
$('#bool2').on('click', function (e) {
//Get the state of 1st checkbox
var isFirstCheck = $('#bool1').is(":checked");
if (isFirstCheck==false) {
//dispay message if you need. Below line of code will prevent user to select 2nd checkbox
e.preventDefault();
}
})
});
相关文章:
- 如何在用户按下F5键或单击浏览器时显示自定义的fancybox's后退/关闭按钮
- 如何在html中以角度显示自定义指令的作用域
- 使用Plaid Link显示自定义用户名和密码模式对话框
- 根据屏幕分辨率显示自定义背景图像
- 登录时显示自定义错误消息
- 如何在具有多边形的同一地图上显示自定义标记
- 如何在javascript中使画布显示自定义图像作为背景
- Chrome扩展-在全屏视频顶部显示自定义通知/弹出窗口(HTML元素)
- 根据 IP 向 Web 访问者显示自定义消息
- 如何使用人力车库在折线图上显示自定义工具提示
- 无法显示自定义对话框
- 使用相对文件路径在 Google 地图中显示自定义标记
- 如何在移动浏览器的屏幕顶部显示自定义警报
- Wavesurfer.js:如何显示自定义标记
- 在谷歌地图中按类型显示自定义图像标记图标
- 如何在检测到浏览器关闭事件时显示自定义弹出窗口
- 通过jQuery在Html.ValidationMessageFor中显示自定义错误
- 自定义HTML5表单验证最初未显示自定义错误
- 在剑道装载指示器上显示自定义文本
- 如何在jqGrid中隐藏和显示自定义按钮通过使用"reccount”;