2

使用 AngularFire,我只想在“名称”是唯一的情况下向我的 angularFireCollection 添加一个对象。我的数据结构如下:

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

例如,我希望在将数据对象添加到 ClientList 之前验证“Brian”是一个唯一名称。我希望这可以在 Angular 控制器中完成。实现这一目标的“Angular 方式”是什么?

4

1 回答 1

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;
      }
    }
  });
}

希望这可以帮助!

于 2013-05-31T20:51:42.090 回答