AngularJS: Как получить ответ в пользовательском валидаторе

Я хочу сделать пользовательскую проверку для подтверждения уникального SKU предмета. Когда я набираю что-то имя в поле, оно идет и проверяет значение в базе данных. Я создал следующую директиву для проверки:

export default function uniqueItemName(
  $q,
  asyncValidatorFactory,
  Item,
) {
  return asyncValidatorFactory({
    name: 'uniqueItemName',
    validate(title) {
      return $q((resolve, reject) => {
        Item.query({ title }, ({ objects }) => {

          // LOG RESPONSE HERE
          console.log('VALIDATION : ', objects);

          if (!objects) {
            resolve();
          } else {
            reject();
          }
        });
      });
    },
  });
}

uniqueItemName.$inject = [
  '$q',
  'asyncValidatorFactory',
  'Item',
];

uniqueItemName.$name = 'uniqueItemName';

Который я использую как:

<input 
  type="text" 
  name="name" 
  ng-model="$ctrl.item.name" 
  required  
  unique-item-name />

Теперь API был вызван и возвратил ответ в виде:

{
  meta: {.....},
  objects: {......}
}

Но console.log('VALIDATION : ', objects); Я поместил в мою проверку ключ "объекты" undefined, Как заполучить ключ "объекты" внутри проверки.

0 ответов

Другие вопросы по тегам