我想通过控制器中的复选框切换表单错误:
$scope.testForm.$error.thisIsAnError = {};
delete $scope.testForm.$error.thisIsAnError;
不幸的是,它的表现与预期完全相反。如果设置了错误,则表单有效,如果未设置,表单无效。
答案 0 :(得分:1)
这种情况正在发生,因为表单中没有任何验证字段。
使用'required'启用角度验证行为。
<input type="checkbox" required ng-model="mainCtrl.errorActive" ng-change="mainCtrl.toggleError()"> Toggle Error
更新了plunker: - http://plnkr.co/edit/HjqGGual68sbR5zwApcd?p=preview
答案 1 :(得分:0)
你可以添加ng-required =&#34; true&#34;如下..
<input type="checkbox" ng-required="true" ng-model="mainCtrl.errorActive" ng-change="mainCtrl.toggleError()">
这将解决您的问题..
更新了plunkr - http://plnkr.co/edit/ip9buXX2cU9NHyg3Fq3m?p=preview