Показать сообщение отдельно
  #1 (permalink)  
Старый 14.08.2014, 16:59
Интересующийся
Отправить личное сообщение для dtzscln Посмотреть профиль Найти все сообщения от dtzscln
 
Регистрация: 16.07.2014
Сообщений: 15

события в директиве
Элементарная задача: сделать валидацию поля только после blur-события:
app.directive("q", function () {
	return {
		require: "ngModel",
		link: function ($scope, elem, attrs, ctrl) {
			elem.on('blur', function(event) {
				ctrl.$parsers.unshift(function(val) {
					if (val == 'ololo') {
						ctrl.$setValidity("q", false);
						return undefined;
					} else {...}
				});
			});
		}
	};
});


Функция, добавленная в ctrl.$parsers никогда не отрабатвает. Подозреваю, что это из-за того, что коллбек, навешаный на blur отрабатывает не в "основном цикле приложения" или как-то так. Вызов таинственных apply и digest не помогли.
Как же заставить работать эту адскую машину?
Ответить с цитированием