AngularJS: Как получить ответ в пользовательском валидаторе - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу сделать пользовательскую проверку для подтверждения уникального 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);, который я поместил в мою проверку, ключ "objects" - undefined.Как получить ключ «объекты» внутри проверки.

...