我有一个表格使用kendo-ui numericTextBox
@Html.LabelFor(p => p.Cost)
@Html.TextBoxFor(p => p.Cost, new { @autocomplete = "off" })
然后,我绑定它,使其与 jquery 验证插件一起使用,我设置了以下设置:
$("#Cost").kendoNumericTextBox({
format: "c",
min: 0,
decimals: 2
});
$.validator.setDefaults({
ignore: [],
highlight: function (element, errorClass) {
element = $(element);
if (element.hasClass("k-input")) {
element.closest(".k-widget").addClass(errorClass);
} else {
element.addClass(errorClass);
}
},
unhighlight: function (element, errorClass) {
element = $(element);
if (element.hasClass("k-input")) {
element.closest(".k-widget").removeClass(errorClass);
} else {
element.removeClass(errorClass);
}
}
});
当我尝试提交表格并Cost
输入无效,它正确添加了 errorClass(在.k-widget
包装纸)。
问题是,如果我再次按下提交按钮,那么kendo-ui
元素简单地消失(与style="display: none;"
).
我不知道是什么触发了这个。我已经看到,如果我将 errorClass 更改为除input-validation-error
,那么kendo-ui
小部件仍然可见。
此问题仅发生在kendo-ui
控件,也不是标准的 html 输入。
我做错了什么吗?