Как можно не запускать ng-pattern, если поле нетронутое? - PullRequest
0 голосов
/ 10 января 2019

Я использую ng-pattern для проверки одного из текстовых вводов. Есть ли способ запустить проверку, только если ввод текста был изменен? Или, другими словами, проверка не должна запускаться, когда ввод текста нетронут, т.е. не изменен пользователем (возможно, setPristine(true). Не уверен, но это можно сделать, установив поле как допустимое для init. Вот часть моего кода (из файла * .jade):

 +text_input('Flat number', 'flatNumber', '', null, {
        tooltip: '{{ "invalid_flat_number_tooltip" | translate }}'
      })(ng-disabled='!editable', ng-readonly='!editable', ng-pattern="/^(?:\\d{1,3}[A-Z]?(?:\\/\\d{1,3})?)?$/", label-s)

1 Ответ

0 голосов
/ 10 января 2019

ng-pattern поддерживает динамическое значение, например, Вы можете иметь это:

ng-pattern="$ctrl.pattern" ng-change="$ctrl.setPattern()"

const realPattern = /.../;
vm.pattern = ''
vm.setPattern = () => vm.pattern = realPattern;
...