Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 字段上的$setValidity不';不要使表格无效_Angularjs - Fatal编程技术网

Angularjs 字段上的$setValidity不';不要使表格无效

Angularjs 字段上的$setValidity不';不要使表格无效,angularjs,Angularjs,我有一个只有一个字段的简单表单(但是有了所有的ng内容,它变得相当复杂) 电子邮件的有效性设置为false,屏幕上显示相应的错误消息。但是表单本身仍然有效!我遗漏了什么?原因是未调用$setValidity。您向筛选器传递了错误的参数。尝试: if($filter('filter')($scope.admins, {'email' : $scope.newAdminForm.email.$modelValue}).length > 0){ $scope.newAdminFo

我有一个只有一个字段的简单表单(但是有了所有的ng内容,它变得相当复杂)


电子邮件的有效性设置为false,屏幕上显示相应的错误消息。但是表单本身仍然有效!我遗漏了什么?

原因是未调用$setValidity。您向筛选器传递了错误的参数。尝试:

if($filter('filter')($scope.admins, {'email' : $scope.newAdminForm.email.$modelValue}).length > 0){
        $scope.newAdminForm.email.$setValidity("duplicate", false);
}
注意
$scope.newAdminForm.email.$modelValue

或者直接使用模型属性
newAdminEmail

if($filter('filter')($scope.admins, {'email' : $scope.newAdminEmail}).length > 0){
        $scope.newAdminForm.email.$setValidity("duplicate", false);
}

if($filter('filter')($scope.admins, {'email' : $scope.newAdminForm.email.$modelValue}).length > 0){
        $scope.newAdminForm.email.$setValidity("duplicate", false);
}
if($filter('filter')($scope.admins, {'email' : $scope.newAdminEmail}).length > 0){
        $scope.newAdminForm.email.$setValidity("duplicate", false);
}