我有一種使用kendo-ui numericTextBox
JQuery驗證隱藏劍術-UI控件
@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輸入。
我做錯了什麼?
您尚未顯示足夠的代碼來重現任何內容。表單的呈現HTML在哪裏? '.validate()'聲明在哪裏? – Sparky
@RaraituL你有沒有想過這個解決方案?我有同樣的問題。 – aw04