将jquery验证添加到kendo ui元素

aw0*_*w04 5 jquery-validate asp.net-mvc-4 kendo-ui

我已经查看了很多这方面的帖子,并且在我添加以下内容时确实调整了我的字段.

$.validator.setDefaults({
    ignore: []
});
Run Code Online (Sandbox Code Playgroud)

我仍然缺少的部分是添加input-validation-error类来通知用户.它适用于我的其他输入元素(非剑道).我已经尝试手动添加类,$.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)
    }
});
Run Code Online (Sandbox Code Playgroud)

aw0*_*w04 8

我根据这篇文章找到了解决方案.基本上你需要做的是查找包含它的父元素input.像这样:

$.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')
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我会建议任何人虽然访问我已经链接到上面的帖子,然后再去掉这个特殊的兔子洞,因为它引入了另一个问题,只是为了了解你正在进入的内容.除了在那里被问到的那个问题之外,这个问题的答案真的更为重要.