При выводе ошибок, возникает эффект заторможенности.
Когда возникает событие onBlur у Input.type="text", ошибка выводится не сразу, а по таймауту. Я сначала думал, да неужто фреймворк настолько перегружен, что ему нужно время, чтобы обработать простейшую проверку на Required. Input теряет фокус, на мышке выполнилось событие Click и вот только появляется ошибка. Из ActiveForm убрал все, что только можно, но все равно тормозит. Начал копать по коду, оказалось, есть такая проверка:
Код: Выделить всё
data.settings.timer = window.setTimeout(function () {
if (data.submitting || $form.is(':hidden')) {
return;
}
$.each(data.attributes, function () {
if (this.status === 2) {
this.status = 3;
$form.find(this.container).addClass(data.settings.validatingCssClass);
}
});
methods.validate.call($form);
}, validationDelay ? validationDelay : 200);
Код: Выделить всё
$input.on('blur.yiiActiveForm', function () {
if (attribute.status == 0 || attribute.status == 1) {
validateAttribute($form, attribute, true);
}
});
Я у себя захардкодил, т.к. по другому плясать не выйдет.