Javascript AngularJS表单验证和提交问题

Javascript AngularJS表单验证和提交问题,javascript,json,angularjs,Javascript,Json,Angularjs,我目前正在开发一个应用程序,允许用户激活他们的帐户,输入用户数据,并在完成时提交JSON数据 我正在努力实现的目标: 如果用户数据在JSON数据中有效,请在提交时重定向到“/form/”,否则显示无效错误消息“invalid Account” 当前的问题: 1.如果用户首先输入正确的成员资格和激活号,则用户将重定向到“/form/”,但如果用户输入错误的详细信息,然后输入正确的详细信息,则重定向将不起作用。 2.我尝试对if-else语句实现无效警报,但同时在4/5警报内收到警报,不确定为什么会

我目前正在开发一个应用程序,允许用户激活他们的帐户,输入用户数据,并在完成时提交JSON数据

我正在努力实现的目标: 如果用户数据在JSON数据中有效,请在提交时重定向到“/form/”,否则显示无效错误消息“invalid Account”

当前的问题: 1.如果用户首先输入正确的成员资格和激活号,则用户将重定向到“/form/”,但如果用户输入错误的详细信息,然后输入正确的详细信息,则重定向将不起作用。 2.我尝试对if-else语句实现无效警报,但同时在4/5警报内收到警报,不确定为什么会发生这种情况

我正在Plnkr上开发这个项目,请随时提供帮助并直接向我指出正确的方向。多谢各位

更新


尝试将“否则”块更改为:

    otherwise({
  templateUrl: 'view/activation.html',
  controller: 'activation'
});
我认为重定向导致应用程序无法找到它正在寻找的模板。此外,我还避免在angular.forEach循环中使用$location.path方法。可能会将数据规范化为真实数组,以便您可以使用array.some

大概是这样的:

var normalized = Object.keys($scope.membershipData.membershipNumber).map(function(k) {
  return { key : k, val : $scope.membershipData.membershipNumber[k][0].activationNumber }
});

/*
  normalized = [
    {"key":"541","val":"541X"},
    {"key":"4692","val":"4692X"},
    {"key":"45165","val":"45165X"},
    {"key":"5464565","val":"5464565X"},
    {"key":"54645651","val":"54645651X"},
    {"key":"D4554160N","val":"D4554160NX"}
  ]
*/

$scope.findMembership = function() {
    if (normalized.some(function(o) {
      return o.key == $scope.membershipValue && o.val == $scope.activationValue
    })) $location.path("/form/")
}
    otherwise({
  templateUrl: 'view/activation.html',
  controller: 'activation'
});
var normalized = Object.keys($scope.membershipData.membershipNumber).map(function(k) {
  return { key : k, val : $scope.membershipData.membershipNumber[k][0].activationNumber }
});

/*
  normalized = [
    {"key":"541","val":"541X"},
    {"key":"4692","val":"4692X"},
    {"key":"45165","val":"45165X"},
    {"key":"5464565","val":"5464565X"},
    {"key":"54645651","val":"54645651X"},
    {"key":"D4554160N","val":"D4554160NX"}
  ]
*/

$scope.findMembership = function() {
    if (normalized.some(function(o) {
      return o.key == $scope.membershipValue && o.val == $scope.activationValue
    })) $location.path("/form/")
}