2013-12-09 3 views
0

У меня есть следующая директивапроверки пользовательских триггеринга требуется

app.directive('postcode', function() { 
     return { 
      require: 'ngModel', 
      link: function(scope, elm, attrs, ctrl) { 
       ctrl.$parsers.unshift(function (val) { 
        var regex = /^(([gG][iI][rR] {0,}0[aA]{2})|((([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y]?[0-9][0-9]?)|(([a-pr-uwyzA-PR-UWYZ][0-9][a-hjkstuwA-HJKSTUW])|([a-pr-uwyzA-PR-UWYZ][a-hk-yA-HK-Y][0-9][abehmnprv-yABEHMNPRV-Y]))) {0,}[0-9][abd-hjlnp-uw-zABD-HJLNP-UW-Z]{2}))$/, 
         valid = regex.test(val); 

        if(valid) { 
         ctrl.$setValidity('postcode', true); 
         return val; 
        } 
        else { 
         ctrl.$setValidity('postcode', false); 
         return undefined; 
        } 
       }); 
      } 
     }; 
    }); 

на поле, которое требуется также

Хотя требуется немного работает плавно (яй!) почтовый индекс один работает, но и показывает требуется сообщение об ошибке, а также недействительным

(для некоторых причин копирования/вставки элементов DOM вызывает ошибку, но не говорит, что)

ответ

0

Этот вопрос был, в моем setValidity вызова я использовал ключевое слово, угловатые использует уже который в соответствии с его правилом было приравнивает к действительному

я пока смог найти хороший список окончательных правил, поставляются с угловыми по умолчанию

0

Может у вас есть скрипка или plunkr?

Как вы видите сообщение об ошибке? Может ли ваше условие показать, что это просто неправильно, и ваша директива работает ?!

Ваши директивы кажутся приятными.

Смежные вопросы