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
, Как заполучить ключ "объекты" внутри проверки.