От известно време насам дълбая по Кендо UI. Чувството е много приятно, тъй като ме връща към дните от обучението ми в Академията на Телерик и първите ми опити да работя със сериозен JS фреймуърк. Въпреки, че Кендо е чудесен, той е наполовина на кода на ExtJS и доста функционалности изискват повече програмен код. В добавка на това я има и пречката, че документацията е меко казано постна. Телерик обаче компенсират с чудесната техническа поддръжка с неограничени питания и хубави отговори. Така че получих помощ със следния мой проблем.

Тук има стандартна валидация на поле с custom валидатор.

$('form#formID'</code><code>).kendoValidator({
     rules: {
         fieldID: function(input){
             if(input.is("[id='fieldID']")) {
                 var value = input.val();
                 // validate with some code</code><code>
                 }
             }

             return true;
         }
     }
});

Той се вика при всяка промяна на полето, но не и когато стойността е зададена с val( ) функцията.

$('#fieldID').val('test');

В този случай какво задейства custom валидацията? Час и нещо занимавки с различните събития и свойства на JS обекта на валидатора ме накараха да потърся лесния път. Отговорът в тикета е достатъчно лесен да посмачка егото ми, но и достатъчно нетривиален, за да го споделя. Валидаторът се активира при придобиването и губенето на фокус на полето. Така нуждата е единствено да се направят тези действия с jQuery. Воала!

 $('#fieldID').val('test').focusin().focusout(); 

Leave a Reply

Your email address will not be published. Required fields are marked *

28 − 20 =