以下代码应忽略类ignore
使用HTML帮助器我添加了类ignore
,但每当我按下提交时它仍然需要验证,即使添加了类ignore
。
根据:jQuery disable rule validation on a single field
以下jQuery应禁用对类ignore
的字段进行任何验证,但这不起作用。
的jQuery
function hideBel() {
$('#BelBep').hide();
$('#iqform').validate(
{ ignore: ".ignore, :hidden"
})
};
create.cshtml
<fieldset id="iqform">
<legend>Form</legend>
<div class="editor-label">@Html.LabelFor(model => model.BevBeleid) @Html.ValidationMessageFor(model => model.BevBeleid)</div>
<label>@Html.RadioButtonFor(model => model.BevBeleid, "true", new { onclick = "showBel();"}) Ja</label>
<label>@Html.RadioButtonFor(model => model.BevBeleid, "false", new { onclick = "hideBel();" }) Nee</label>
<div id="BelBep" style="display: none;">
<div class="editor-label">@Html.LabelFor(model => model.BelLastName)</div>
<div class="editor-field">
@Html.EditorFor(model => model.BelLastName, new { htmlAttributes = new {@class = "ignore"}})
@Html.ValidationMessageFor(model => model.BelLastName)
</div>
</fieldset>
答案 0 :(得分:1)
要实现这种忽略行为,我们应该将所需的选择器添加到jQuery-validation-defaults
我们知道默认情况下:hidden
,我们在这里添加.ignore
CssClass选择器,如下所示。
此默认脚本应放在代码文件中的方式和位置。
我在 myview.cshtml 文件
中执行如下操作
<!--HTML and Razor markup -->
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script>
//Below defaults setting should run
//after jquery.validation js execution and before DOM-Ready.
//Note: This script block placement must be after below script embed tags
//jquery.validate.min.js,jquery.validate.unobtrusive.min.js(=>jqueryval bundle)
$.validator.setDefaults({
ignore: ':hidden, .ignore'
});
$(function () {
//Script to Run after DOM-Ready
});
</script>
}