AngularJS有效激活

时间:2015-03-24 20:17:51

标签: javascript angularjs

我目前正在开发一个AngularJS激活表单,允许用户激活他们的帐户,然后才能使用其他功能,这恰好是另一种形式。

我想要实现的目标:
用户输入会员资格和激活号码。如果这些数字有效(在JSON数据中),则授予用户访问权限。如果没有,将显示错误消息

当前问题:
我已设法检查会员编号是否有效并返回要验证的消息,但无法同时检查成员资格和激活号码。

我正在Plnkr上开发这个项目,请随时帮助并指出我的正确方向。谢谢。

http://plnkr.co/edit/5uPSn2ae0yFjYzujPFWm?p=preview

Controller.JS

var formCtrl = angular.module('formCtrl', []);

formCtrl.controller('activation', function($scope){
  $scope.myData = {
    "membershipNumber": {
        "5464565": [
            {
                "activationNumber": "5464565X"
            }
        ],
        "54645651": [
            {
                "activationNumber": "54645651X"
            }
        ],
        "45165": [
            {
                "activationNumber": "45165X"
            }
        ],
        "4692": [
            {
                "activationNumber": "4692X"
            }
        ],
        "541": [
            {
                "activationNumber": "541X"
            }
        ],
        "D4554160N": [
            {
                "activationNumber": "D4554160NX"
            }
        ]
    }
  };
  $scope.results = []; 

  $scope.findValue = function(membershipValue) {     
    angular.forEach($scope.myData.membershipNumber, function(value, key) {
      if (key === membershipValue) {
        $scope.results.push({membershipNumber: key, activationNumber: value[0].activationNumber});
      }
    });
  };
});

1 个答案:

答案 0 :(得分:1)

我不确定我是否真的想要你想要实现,但可能是你实际上没有使用范围内容进行检查而应该使用它?

$scope.findValue = function() {     
    angular.forEach($scope.myData.membershipNumber, function(value, key) {
      if (key === $scope.membershipValue &&
          value[0].activationNumber === $scope.activationValue) {
        $scope.results.push({membershipNumber: key, activationNumber: value[0].activationNumber});
      }
    });
  };

请参阅: http://plnkr.co/edit/tqoEwZinCXKQho9tTxgp?p=preview

对不起,如果这不是你的意思。