形式。$无效的反对行为超出预期

时间:2015-02-01 09:09:12

标签: angularjs

我想通过控制器中的复选框切换表单错误:

$scope.testForm.$error.thisIsAnError = {};

delete $scope.testForm.$error.thisIsAnError;

不幸的是,它的表现与预期完全相反。如果设置了错误,则表单有效,如果未设置,表单无效。

请参阅this plunkr for a demo

2 个答案:

答案 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