【问题标题】:Jquery Custom Validation Not firingJquery自定义验证未触发
【发布时间】:2013-03-25 19:38:27
【问题描述】:

在 MVC Razor 视图引擎中工作;我有一个模型,该模型具有属性上的标准必需属性和通过 ajax 回调呈现的部分视图。主视图包含表单,部分视图仅包含显示模板等,为了在客户端触发数据注释,我必须执行以下操作;

$('#MyButton').click(function () {
        $('#MyContainer').load("MY_ACTION_URL", function () {
            var form = $("#ReserveForm");
            form.removeData('validator');
            form.removeData('unobtrusiveValidation');
            $.validator.unobtrusive.parse(form);                
        });
});

上面的效果很好,它重新绑定了我的客户端验证并且它们完美地触发了。问题是我有一些没有触发的自定义 Jquery 验证。例如;

$('#ReserveForm').validate({
        ignoreTitle: true,
        errorLabelContainer: '#errorContainer',
        errorClass: 'ClientSide-Validation-errors'
    });

    $.validator.addMethod('myCustomValidation',
        function (value, element, param) {
            return $(element).val() == '' && param == true;
        }, 'my message');

    $('#MYINPUT').rules("add",
        {
            myCustomValidation: true
        });

上面的自定义验证是在文档准备好渲染的部分时声明的,但没有运气。

PS,如果我在页面加载时渲染部分内容(例如在 RenderAction 中),那么自定义验证会正常触发。

任何帮助表示赞赏。

【问题讨论】:

    标签: jquery asp.net-mvc jquery-validate unobtrusive-validation


    【解决方案1】:

    我相信这是重复的。 您不希望在局部视图中有脚本。您应该提取脚本并在部分的父视图中声明它们。

    MVC4 partial view javascript bundling Issue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多