Asp.net mvc 4 向KendoUI元素添加jquery验证

Asp.net mvc 4 向KendoUI元素添加jquery验证,asp.net-mvc-4,kendo-ui,jquery-validate,Asp.net Mvc 4,Kendo Ui,Jquery Validate,我看过很多关于这个的帖子,当我添加以下内容时,它确实验证了我的字段 $.validator.setDefaults({ ignore: [] }); 我仍然缺少的部分是添加输入验证错误类来通知用户。对于我的其他输入元素(非剑道),它工作得很好。我也尝试过在$.validator.setDefaults中手动添加该类,但似乎没有任何效果 有没有什么地方有这样的例子,或者有没有人让它起作用 我不确定我做的是否正确,但以下是我尝试手动添加的内容 $.validator.setDefaults

我看过很多关于这个的帖子,当我添加以下内容时,它确实验证了我的字段

$.validator.setDefaults({
    ignore: []
});
我仍然缺少的部分是添加
输入验证错误
类来通知用户。对于我的其他输入元素(非剑道),它工作得很好。我也尝试过在
$.validator.setDefaults
中手动添加该类,但似乎没有任何效果

有没有什么地方有这样的例子,或者有没有人让它起作用

我不确定我做的是否正确,但以下是我尝试手动添加的内容

$.validator.setDefaults({
    ignore: [],
    errorClass: "input-validation-error",
    errorElement: "input",
    highlight: function (element, errorClass) {
        $(element).addClass(errorClass)
    },
    unhighlight: function (element, errorClass) {
        $(element).removeClass(errorClass)
    }
});

我找到了一个解决这个问题的方法。基本上,您需要做的是查找
输入所包含的父元素。大概是这样的:

$.validator.setDefaults({
    ignore: [],
    highlight: function (element, errorClass) {
        element = $(element);
        if (element.parent().hasClass("k-widget")) {
            element.parent().addClass('input-validation-error');
        } else {
            element.addClass('input-validation-error')
        }
    },
    unhighlight: function (element, errorClass) {
        element = $(element);
        if (element.parent().hasClass("k-widget")) {
            element.parent().removeClass('input-validation-error');
        } else {
            element.removeClass('input-validation-error')
        }
    }
});

我会建议任何人在进入这个特别的兔子洞之前访问我在上面链接的帖子,因为它引入了另一个问题,只是为了知道你正在进入什么。例外答案确实比被问到的问题更相关。

这个问题没有意义。默认情况下,插件忽略所有隐藏字段。设置
ignore:[]
只需禁用
ignore
选项。换句话说,
ignore:[]
允许验证隐藏字段,而不是忽略。你的问题与隐藏字段有什么关系?呈现的HTML标记在哪里?@Sparky kendo和隐藏字段-