Я использую AngularJS 1.7 для проекта, в котором у меня есть форма, и мне нужно проверить, что поле ввода является обязательным, чтобы иметь определенный шаблон и уникальные значения. Для этого я делаю так:
input#item-name(
name = "name",
type = "text",
required,
ng-pattern = "$ctrl.pattern.id",
ng-model = "$ctrl.item.name",
)
div(ng-messages = "addItemForm.name.$error")
div(ng-messages-include = "error-messages")
Я рассмотрел необходимое и шаблонное. Но не удалось включить уникальную проверку.
У меня есть массив со всеми существующими значениями:
this.existingItems = ['A','B','C];
Я пробовал что-то подобное, но не вышло:
input#item-name(
name = "name",
type = "text",
required,
ng-pattern = "$ctrl.pattern.id",
ng-model = "$ctrl.item.name",
ng-unique = "$ctrl.existingItems",
)
div(ng-messages = "addItemForm.name.$error")
div(ng-messages-include = "error-messages")
Я использовал эту часть кода внутри компонента и указал this на $ ctrl.
Я не нашел документации для ng-unique. Я пробовал это как шаблон, думая, что он сработает. Где-то я обнаружил, что используются «sure-unique-values», но также не нашел для этого никакой документации.
Да, я так и думал. Это не лучший способ программирования. Вместо этого вам следует прочитать документацию. Выясните, что такой вещи не существует, но можно определить свои собственные валидаторы, узнать из документации, как это сделать, и попробовать. Вы можете добиться того же, не читая документацию и пробуя что-то наугад, пока не сделаете то, что в документации написано, но это будет намного дольше. code.angularjs.org/1.7.1/docs/guide/forms#custom-validation


Где документация ng-unique? Что там написано?