首页 > 解决方案 > 我的 angularjs 表单上的 $invalid 和 $valid 都是未定义的

问题描述

我已经阅读了这篇文章 myForm.$valid 和 myForm.$invalid 在角度形式上都未定义?

但实际上我的问题不一样,我定义了一个这样的表格

<form name="EntityForm" role="form" novalidate ng-submit="EntityForm.$valid && save()" id="EntityForm"></form>

而且我有打开这个表单模板的模态,在我的程序的某些点我可以毫无问题地打开模态并将表单转换为这样的东西:

<form name="EntityForm" role="form" novalidate="" ng-submit="EntityForm.$valid && save()" id="EntityForm" class="ng-pristine ng-scope ng-invalid ng-invalid-required ng-valid-maxlength ng-valid-pattern ng-invalid-iran-national-id ng-valid-minlength"></form>

在其他一些方面,它转化为这样的东西:

<form name="EntityForm" role="form" novalidate="" ng-submit="EntityForm.$valid && save()" id="EntityForm" class="ng-pristine ng-scope ng-valid-maxlength ng-pending ng-invalid-required ng-valid-pattern ng-invalid-iran-national-id ng-valid-minlength">

当我比较两种情况时,我发现 angularjs 在第二种情况下无法正确解析“ng-invalid”。

angularjs 怎么可能无法解析表单上的有效和无效指令?

提前致谢 。

标签: javascriptangularjs

解决方案


我通过检查表单中的所有元素解决了我的问题,我有一个自定义指令来检查我的表单上的一些验证,即使在控制台或其他调试方式中没有错误 $invalid 和 $valid 在表单上的值未定义. 因此,如果您以后遇到这种情况,请仔细检查表单中的所有模型元素和指令。


推荐阅读