Използване на директива за въвеждане на формуляр с ng-шаблон. Работи (т.е. показва се грешка), когато идентификаторът на директивата е низ, но не работи (т.е. грешката никога не се показва), когато идентификаторът е израз. Псевдо код:
работи
<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 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>
Да предположим, че това е така, защото идентификаторът на израза е недефиниран, когато всичко е свързано, но няма идея как да се поправи. Благодаря предварително!