0

검도 그리드에서 인라인 유효성 검사를 계속했습니다. 포커스를 잃은 후에 유효성을 검사하지 않겠습니다. 타이핑을 한 후 바로 확인하고 싶습니다. 그래서 HTML5 검사기를 사용하기 시작합니다. 그것은 꽤 잘 작동하지만 문제는 내가이 질문에 대답 할 수 없다 :HTML5에서 입력이 잘못 된 후 오류 메시지가 표시되고 검도에서 검도의 기본 오류 메시지가 표시되지 않습니다.

어떤 이벤트가 유효에서 무효로 입력을 설정합니다.

이 이벤트는 오류 메시지를 표시합니다.

내 현재 작업 : https://dojo.telerik.com/OSONo/56

안부

루카스 무효하려면 유효한에서 입력을 설정 이벤트

답변

-1

내 문제를 해결했습니다. 내가 무슨 뜻인지 알 수 있도록 게시물을 편집 하겠지만 먼저 dojo projcet을 제공합니다.

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

내 편집 :

내 이전 anwser에 대한 미안 해요, 난 그냥 그에게 난 내 의견에 언급 내 솔루션을 제공하고자합니다.

내 솔루션에서는 모든 입력 요소를 듣는 방법, 이벤트 수신기를 만들었습니다. 무언가가 변경되면 현재 커서 위치 (예 : 지원을위한 가져 오기)가 저장되고 이후에 "변경"이벤트가 트리거됩니다. "change"이벤트는 유효하거나 유효하지 않은지 검사합니다. 유효하지 않으면 검도 검사기가 오류 메시지를 표시합니다 (blur 이벤트에 의해 기본값이 아닙니다).

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 

      } 
     }) 
    } 
    } 
}); 

change 이벤트는 이미 검도에서 작성되었으므로 직접 작성하지 않아도됩니다.

적어도 웹 사이트를 만들 때이 메서드를 호출해야합니다.

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

이것은 내 문제에 대한 나의 해결책입니다.

최고.

+0

그냥 링크가 답이 아닙니다 (어떤 점에 있어도 추가 정보를 추가 할 수도 있지만 질문에 대답 할 때까지 기다리십시오). –

+0

이 링크가 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [검토 중] (리뷰/저품절 게시물/18676344) – iBug

+0

추가 정보를 추가 하시려면 질문에 편집 링크를 사용하십시오. 답변 게시 버튼은 질문에 대한 완전한 대답을 위해서만 사용되어야합니다. - [검토 중] (리뷰/저품각 게시물/18676344) –

0

.

...

이 이벤트는 오류 메시지를 표시합니다.

그냥도 validate()로 설정되어 validator.validate(); 오류 메시지와 함께 kendoValidator를 실행합니다.

이런 식으로 뭔가 작업을해야합니다 :

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

경고가 일부 요소 뒤에 숨겨진 것 같다, 당신은 또한 당신의 kendoValidator에 folowing errorTemplate를 추가 할 수 있도록 :

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

안녕하세요. 답변 해 주셔서 감사합니다. 그것은 크롬에서 꽤 잘 작동합니다. 내 인터넷 익스플로러 11에서는 작동하지 않는 것 같습니다. 거기도 도와 줄 수 있니? Advantage에 감사드립니다! –