我目前正在开发一个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});
}
});
};
});
答案 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
对不起,如果这不是你的意思。