2017-04-12 70 views

回答

0

我認爲這是在劍道中的錯誤...

在爲NumericTextBox的源代碼,有一個_paste處理器出現就像它試圖根據文化的數字格式消毒輸入,但然後它對照未經處理的值進行驗證......似乎應該使用已消毒的值。

這裏的實現:

_paste: function (e) { 
      var that = this; 
      var element = e.target; 
      var value = element.value; 
      var numberFormat = that._format(that.options.format); 
      setTimeout(function() { 
       var result = that._parse(element.value); 
       var isValid = that._numericRegex(numberFormat).test(element.value); 
       if (result === NULL || that._adjust(result) !== result || !isValid) { 
        that._update(value); 
       } 
      }); 
     }, 

所以,如果你貼上「123456」,它將_parse()到123456(因爲它知道「」是千位分隔符),但隨後的isValid檢查仍在檢查不良的「123456」,因此它恢復到先前的值。

如果更改的isValid線

var isValid = that._numericRegex(numberFormat).test(result); 

讓她能夠驗證對消毒值,那麼這一切會顯示您所期望它....否則我真的不能明白爲什麼工作首先將其消毒。

我意識到改變kendo源代碼並不是一個真正有效的解決方案,但我確實認爲這是一個錯誤,你可能需要解決它,直到它被修復。

如果您有劍道許可證,我會聯繫他們的支持以驗證它是否是一個錯誤。如果您沒有執照,請告訴我,我會在有時間的情況下提交申請,因爲我有執照。

+0

謝謝!我的支持許可證已過期,因此我無法創建票證 – LP13

相關問題