JQuery UI Validation插件不适用于Kendo UI控件

时间:2013-07-15 14:41:24

标签: jquery user-interface

我已经在我的MVC4项目中在所有html控件中实现了JQuery UI Validation插件,这个插件非常好用。现在我想将这个pugin用于一些Kendo UI控件,如kendo datepicker或kendo autocomplete等。

JQuery UI验证在我的下面代码中运行正常 根据此网址http://posabsolute.github.io/jQuery-Validation-Engine/

@Html.TextBoxFor(Function(x) Model.EstimatedDt, New With {.id = "kdatepicker",.class = "validate[required]"})

现在我用kendo UI datepicker替换

@(Html.Kendo().DatePicker().Name("kdatepicker").HtmlAttributes(new with{.Class = "validate[required]"}))

但这不起作用。这会给出错误消息TWICE,甚至在我输入一些值之后,控件会出现一个工具提示错误消息并仍显示一个错误工具提示。

我检查了视图源,它就像这样创建 -

<input class="validate[required]" id="kdatepicker" name="kdatepicker" type="date" /><script>
    jQuery(function(){jQuery("#kdatepicker").kendoDatePicker({"format":"M/d/yyyy","min":new Date(1900,0,1,0,0,0,0),"max":new Date(2099,11,31,0,0,0,0)});});
</script>

请在我失踪的地方帮助我。 Jquery UI ValidationEngine不能与Kendo UI控件一起使用吗?

由于 Jyo

1 个答案:

答案 0 :(得分:1)

找到答案 - 我们需要使用jquery函数单独添加它,而不是添加内联的validate类。

@(Html.Kendo().DatePicker().Name("kdatepicker").HtmlAttributes(new with{.Class = "validate[required]"}))

解决方案

@(Html.Kendo().DatePicker().Name("kdatepicker"))

$(function () {
$("#kdatepicker").addClass("validate[required]");
}

原因是如果我们将其添加到内联中,它会添加两次控件和容器。

希望这有助于某人.. 快乐编码:)