我猜測隨着Kendo論壇工作方式即將發生的變化(只有付費客戶),在那裏得到問題的答案几乎沒有機會,所以我會試試這裏。 ..帶4個小數位的NumericTextBox
我已經設置了一個可編輯的網格,它使用兩個數字字段的自定義驗證器。驗證器使用ajax查詢獲取有效參數(但我認爲這不重要)。
這是所有的工作,但我需要NumericTextBoxes支持4個小數位,他們不默認。
我已經爲這些字段創建了自定義的網格編輯器,這使我可以輸入4位小數,但它打破了自定義驗證。
如何獲取NumericTextBoxes在編輯模式下支持4位小數位並允許自定義驗證規則?
在此先感謝
這裏的字段定義,以驗證我使用:
end: { type: 'number', validation: {
end: function(input){
if (input.attr('name')=='end' && $('input[name=lookup]').val()!=''){
$.ajax({
type: 'post',
url: '/ajax/lookupParams',
data: { lookup:$('input[name=lookup]').val(), csrf_token: token },
success: function(data) {
start = data.start;
end = data.end
},
dataType: 'json',
async: false
});
input.attr('data-end-msg', 'End must be between '+start+' and '+end);
return (input.val() >= start && input.val() <= end);
}
return true;
}
}
該位工作 - AJAX是用來檢索有效的開始和結束值的基礎上,查找字段的當前值。如果我使用自定義編輯器來支持4個小數位,它就會停止工作。
一些代碼可以幫助人們理解「自定義驗證」的含義。 –
這就是爲什麼'$ .ajax'調用具有'async:false'的原因 - 函數在繼續之前等待'start'和'end'返回。就像我說的那樣 - 驗證工作是完美的,只是在與網格中的自定義編輯器結合使用時纔會生效。 – Mat