Я новичок в AngularJS, но я много искал и не смог найти рабочий ответ на этот вопрос, возможно, это просто невозможно, как я это имею в виду.
Я хотел бы иметь возможность комбинировать состояния ошибок, чтобы использовать более общие сообщения об ошибках в модуль ng-сообщений. Это экономит нам много времени на поддержку текстов, поскольку наше приложение является многоязычным. В моем примере было бы здорово объединить minlength, maxlength и шаблон и сделать так, чтобы он ссылался на 1 общее сообщение. Единственный способ заставить его работать - это создать отдельное ng-сообщение для каждого типа, а затем повторно использовать текст ошибки, который кажется мне излишним. Надеюсь, это что-то короткое, чего мне не хватает, например, я не понимаю, когда и как использовать , или ||.
<form id="myFormId" name="myForm" novalidate>
<input name="sText" ng-model="someText"
type="text"
required
ng-minlength="8" minlength="8"
ng-maxlength="8" maxlength="8"
ng-pattern="/^[a-zA-Z0-9]{8,8}$/" pattern="/^[a-zA-Z0-9]{8,8}$/">
<div ng-messages="myForm.sText.$error" role="alert">
Error message:
<div ng-message="required">Required text missing</div>
<div ng-message="minlength || maxlength || pattern">Not right length or bad pattern - Why does this not work? I have also tried using comma , instead of || </div>
<div ng-message="minlength">Too short - this does work but does not change even if this is removed</div>
</div>
</form>
Я создал этот простой планк, чтобы проиллюстрировать, что я пытаюсь сделать:
ИЗМЕНИТЬ 1
Я понимаю, что мог бы использовать одно выражение шаблона регулярного выражения, но приведенные выше проверки предназначены исключительно для воспроизведения проблемы и демонстрации примера. У меня есть другие проверки, которые я хотел бы объединить, но которые нельзя выразить одним шаблоном.