0

我堅持使用劍道網格中的內聯驗證。 我不想在失去焦點後進行驗證。我想在打字後立即驗證。所以我開始使用HTML5驗證器。它工作得很好,但問題是我不能回答這兩個問題:輸入在HTML5中設置錯誤消息無效並防止來自網格中劍道的默認錯誤消息

哪些事件設置輸入從有效到無效。

哪個事件顯示錯誤消息。

我目前的工作:https://dojo.telerik.com/OSONo/56

問候

盧卡斯

回答

-1

解決了我自己的問題。我將編輯這篇文章,以便你能看到我的意思,但首先我要給dojo projcet。

https://dojo.telerik.com/OSONo/64

我編輯:

我爲我以前的anwser對不起,我只是想給他我的解決方案我在評論提及。

在我的解決方案中,我創建了一個事件監聽器,如何監聽所有輸入元素。當有東西改變它時,保存當前的光標位置(它的導入以支持),然後觸發我的「更改」事件。 「更改」事件檢查它是有效還是無效。如果它無效,那麼劍道驗證程序會顯式地顯示錯誤消息(而不是默認的模糊事件)。

var ValidierungCheckClass = (function() { 
return { 
    AllDOMElements: function() { 
     $('body').on('input', function() { 
      var myActiveElement = $(':focus'); 

      if ((myActiveElement) && (myActiveElement.context.activeElement.nodeName.toLowerCase() !== "body")) { 
       var myActiveDOMElement = myActiveElement[0], 

        start = myActiveDOMElement.selectionStart, //just for IE Support 
        end = myActiveDOMElement.selectionEnd;   //just for IE Support 

       myActiveElement.trigger("change"); 

       myActiveDOMElement.setSelectionRange(start, end); //just for IE Support 

      } 
     }) 
    } 
    } 
}); 

更改事件是從kendo創建的,所以您不必編寫自己的。

至少您必須在創建網站時調用該方法。

<script> 
     ValidierungCheckClass().AllDOMElements(); 
</script> 

這是我對我的問題的解決方案。

此致敬意。

+0

只是一個鏈接不是一個答案(即使你 - 在某些時候 - 可能會添加額外的信息;等到_that_時刻回答問題)。 –

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/18676344) – iBug

+0

請使用您問題上的修改鏈接添加更多信息。後回答按鈕應該只用於問題的完整答案。 - [來自評論](/ review/low-quality-posts/18676344) –

0

該事件中設置從有效的輸入無效。

...

哪個事件顯示錯誤消息。

只是validator.validate(); 錯誤消息也設定validate()運行kendoValidator。

像這樣的東西應該工作:

$(document).on('input propertychange', function() { 
    validator.validate(); 
}); 

警告似乎有些元素背後隱藏的,所以你也可以如下因素errorTemplate添加到您的kendoValidator:

errorTemplate: '<div class="k-widget k-tooltip k-tooltip-validation" style="margin: 0.5em; display: block;"><span class="k-icon k-i-warning"></span>#=message#<div class="k-callout k-callout-n"></div></div>' 

而且整體解決方案: https://dojo.telerik.com/OSONo/66

+0

我解決了一些問題。我的soloution不工作與validator.validate()。,但如果你告訴我我該怎麼做,你可以告訴我,我只是一個傻瓜。我真的很感激這:)。 –

+0

我已經添加了如何綁定validate()。這可能比你更容易解決。 – CennoxX

+0

嘿,謝謝你的回答。它在鉻中工作得很好。在我的Internet Explorer 11中,它似乎不起作用。你能幫我嗎? 感謝Advantage! –