我需要在开始时将 ng-form 设置为无效,因为它是向导的后续部分。该表单包含一个包含元素的网格。每个元素都有自己的验证,但问题是,当没有元素时,表单显示为有效。当行数为 0 时,我需要将其标记为起始情况无效。如何做到这一点?
经过一些研究,以下代码对我来说效果很好。在控制器中:
//Set the form as invalid for start.
$timeout(function(){
$scope.orderForm.productsForm.$invalid = true;
});
超时可确保我们能够访问表单。它们不是在第一次通过控制器时构建的,因此需要超时或监视。
然后我们将表单标记为无效。更好的方法可能是找到一个输入,我们可以使用记录的 api 将其标记为无效$setValidity
在 ngModelController 上,但在我的用例中还没有输入,所以我们以一种肮脏的方式来做。
需要注意的是,当像上面那样直接设置它时,相应的 $invalid === ! $valid 不变量被破坏,所以要小心这个 hack。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)