我需要根据if语句的结果向数组添加错误消息。仅当我输入应触发两者的数据时,下面的代码才会返回第二条错误消息。我知道.push()不只是添加到前一个数组,但他们必须解决的唯一方法是进行for循环。我认为在某些地方我只是缺少一些简单的功能。
$scope.error = {};
if ($password == null || $vPassword == null || $email == null || $vEmail == null) {
console.log('All fields must be filled in');
} else {
if ($scope.verifyPassword !== $scope.password) {
$scope.error[scope.error.length()] = 'Your passwords must match...';
}
if ($scope.verifyEmail !== $scope.email) {
$scope.error.push = ['Your email addresses must match...'];
}
console.log($scope.error);
}
我认为代码非常明显。如果您需要更多信息,请告诉我。
谢谢!
编辑:我不确定是什么代码产生了我解释的错误。抱歉。上面的代码是废话代码,我正在弄乱试图让它工作。显然,大部分内容都没有意义。接受的答案是我最初认为产生错误但显然是有效的。抱歉这个糟糕的帖子。
答案 0 :(得分:3)
push
是一个函数,应该使用()
调用。
$scope.error.push('Your email addresses must match...');
此外,您无法在不是Array的对象上调用push
。您必须将$scope.error
实例化为Array
:
$scope.error = [];
答案 1 :(得分:0)
您需要将$scope.error
更改为数组,而不是对象,然后.push()
才能正常工作。
$scope.error = [];
$scope.error.push("Your passwords must match...");
console.log($scope.error);
可生产
["Your passwords must match..."]