Можно ли использовать ng-шаблон с переменной
Я ужасен с регулярными выражениями, но мне было интересно, можно ли использовать ng-pattern с переменной
Например,
ng-pattern="/^{{validationCode}}$/"
где validationCode - это переменная, привязанная к $scope в контроллере
// Inside Controller
$scope.validationCode = 'response returned from server'
Если
$scope.validationCode = 1234123412351234
то ng-pattern будет
ng-pattern="/^1234123412351234$/"
Но это не работает, и мне кажется, что мне нужно создать настраиваемую директиву, которую я действительно не хочу
Ответы
Ответ 1
ng-pattern
ожидает выражение регулярного выражения.
Из Angular документации о ng-pattern
:
Задает ключ ошибки проверки шаблона, если значение не соответствует выражению шаблона RegExp
. Ожидаемое значение /regexp/
для встроенных шаблонов или RegExp
для шаблонов, определенных как выражения сферы.
Другими словами, вы можете создать RegExp в контроллере:
$scope.pattern = new RegExp(patternFromServer);
и используйте его:
<input ng-model="foo" ng-pattern="pattern">