#angularjs
#angularjs
Вопрос:
Я пытаюсь использовать условия с ng-pattern, но он показывает, что zip-файл все время недействителен. Если я использую шаблон без условия, все работает нормально.
<md-input-container flex="20">
<label>Zip Code</label>
<input ng-model="$ctrl.PostalCode" name="Zip" ng-required="true"
ng-pattern="{{$ctrl.Country == 'Canada' ? '/^(d{5}(-d{4})?|[A-Z]d[A-Z] *d[A-Z]d)$/' : '/^[0-9]*$/'}}">
<div ng-messages="$ctrl.testForm.Zip.$error">
<div ng-message="pattern">Zip Code is not valid.</div>
</div>
</md-input-container>
Ответ №1:
Если вы проверите свой шаблон в отображаемом HTML, вы увидите проблему.
in d
игнорируется, поскольку вы не избегаете его. Попробуйте это:
ng-pattern="{{$ctrl.Country == 'Canada' ? '^(\d{5}(-\d{4})?|[A-Z]\d[A-Z] *\d[A-Z]\d)$' : '^[0-9]*$'}}"