Можно ли использовать 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">