如何使用JQuery / Javascript在Razor中禁用和启用客户端验证

时间:2014-11-28 10:06:38

标签: javascript jquery asp.net-mvc razor asp.net-mvc-5

我通过禁用data-val属性禁用了剃刀文件中字段的客户端验证。该字段如下所示

  @Html.TextAreaFor(model => model.CallNoteViewModel.CallNote_Memo, 3, 15, 
                      new { @class = "form-control", **@data_val = "false"** })

我想根据是否选中复选框来启用/禁用该字段的验证。我有我的JQuery代码如下。

       $('#checkbox').click(function () {
            if ($('#checkbox').prop('checked')) 
            {
                $('#CallNoteViewModel_CallNote_Memo').data('val', 'true');
                console.log($('#CallNoteViewModel_CallNote_Memo').data('val'));
            } 
            else
            {
                $('#CallNoteViewModel_CallNote_Memo').data('val', 'false');
                console.log($('#CallNoteViewModel_CallNote_Memo').data('val'));
            }
        });

我尝试使用jQuery中的attr()函数设置data-val属性,但即使这样也可以启用客户端验证。

如何在jQuery中为字段启用客户端验证?

2 个答案:

答案 0 :(得分:0)

我假设您正在使用不显眼的表单验证。

$(function() {
if($('#' + checkboxId).is(":checked"))
{
    var config = $.data($('form')[0], 'validator').settings;
    config.ignore = ".disableValidation";
}
});

使用上面的代码禁用您选择的字段的验证。只需将“.disableValidation”类添加到要禁用验证的字段即可。将禁用表单中这些字段的验证。

答案 1 :(得分:0)

我使用了FoolProof库,就像Stephen Muecke建议的那样。它适用于我的案例。