1

Использование AngularFire, я хочу добавить объект в свой angularFireCollection ТОЛЬКО, если «имя» уникально. Мои данные структурированы следующим образом:Проверка уникальности данных в AngularFire

- ClientList 
    - dsk32923k <-Random unique ID created by AngularFire 
     - name : Brian 
     - birthday : 3/9/82 
      ... 
    - skjdsjkl3 
     - name : John 
     - birthday : 6/3/90 
      ... 

Например, я хочу, чтобы убедиться, что «Brian» это уникальное имя, прежде чем добавить объект данных в ClientList. Я хочу, чтобы это выполнялось внутри углового контроллера. Что такое «Угловой способ» сделать это?

ответ

2

Это немного сложно сделать с помощью angularFireCollection без повторения всех записей, чтобы проверить наличие дубликатов. Это может быть проще в использовании angularFire и использовать имя в качестве уникального ключа:

function MyController($scope, angularFire) { 
    var url = "https://<my-firebase>.firebaseio.com/ClientList"; 
    var promise = angularFire(url, $scope, "users", {}); 
    promise.then(function() { 
    $scope.addUser = function(user) { 
     if ($scope.users[user.name]) { 
     throw new Error("User already exists!"); 
     } else { 
     $scope.users[name] = user; 
     } 
    } 
    }); 
} 

Надеется, что это помогает!

Смежные вопросы