Использование директивы ввода формы с ng-pattern. Он работает (т. е. отображается ошибка), когда идентификатор в директиве является строкой, но не работает (т. е. ошибка никогда не отображается), когда идентификатор является выражением. Псевдокод:
работает
<form name="myForm" role="form" ng-submit="customer.submit()">
<form-input id="foo" ng-pattern="/^[0-9]+$/"></form-input>
</form>
<span ng-show="myForm.foo.$error.pattern" class="ng-hide">Not valid number!</span>
не работает (myVar = "foo")
<form name="myForm" role="form" ng-submit="customer.submit()">
<form-input id="{{myVar}}" ng-pattern="/^[0-9]+$/"></form-input>
</form>
<span ng-show="myForm.foo.$error.pattern" class="ng-hide">Not valid number!</span>
Chrome Inspected HTML (точно так же, работает/не работает)
<input type="text" id="foo" name="foo" ng-pattern="/^[0-9]+$/" class="ng-valid ng-valid-pattern">
<span ng-show="myForm.foo.$error.pattern" class="ng-hide">Not valid number!</span>
Предположим, это связано с тем, что идентификатор выражения не определен, когда все подключено, но не знаю, как это исправить. Заранее спасибо!