一尘不染

在angularjs中将表单设置为无效

angularjs

首先,我需要将ng-
form设置为无效,因为它是向导的后续部分。表单包含带有元素的网格。每个元素都有其自己的验证,但是问题是,当没有元素时,表单将显示为有效。当行数为0时,我需要将其标记为对于开始情况无效。怎么做?


阅读 210

收藏
2020-07-04

共1个答案

一尘不染

经过研究后,以下代码对我来说很好用。在控制器中:

//Set the form as invalid for start.
  $timeout(function(){
   $scope.orderForm.productsForm.$invalid = true;
  });

超时确保我们可以访问该表单。它们不是在第一次通过控制器上构建的,因此需要超时或监视。然后,我们将表单标记为无效。更好的方法是找到可以使用$setValidityngModelController上已记录的api标记为无效的输入,但是在我的用例中,尚无输入,因此我们以一种肮脏的方式进行输入。

一个警告是,当直接像在相应的$ invalid ===上方那样设置它时!$ valid不变量已损坏,因此请谨慎使用此技巧。

2020-07-04