javascript - 我的 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 怎么可能无法解析表单上的有效和无效指令?
提前致谢 。
解决方案
我通过检查表单中的所有元素解决了我的问题,我有一个自定义指令来检查我的表单上的一些验证,即使在控制台或其他调试方式中没有错误 $invalid 和 $valid 在表单上的值未定义. 因此,如果您以后遇到这种情况,请仔细检查表单中的所有模型元素和指令。
推荐阅读
- r - 删除以 R 中出现次数为条件的空格
- python - Ubuntu 18.04.4 LTS 在浏览和使用 Tensorflow 训练时崩溃
- javascript - 如何使 Vue Sortable 在桌面上工作?
- c++ - 将文件中的数据存储到数组中,然后在 C++ 中从文件中读取特定的行和列
- spring - Spring Cloud Sleuth 之类的实现是如何实现的?
- java - 如何使输入可选,或如何检查输入流上是否有任何标记
- opengl - 在没有 OpenGL 的情况下如何绘制到显示器上?
- c - 使用 qsort 对字符串数组进行排序
- java - 使用 Java 8、Spring Boot Starter 2.1.9 和 Lombok 1.18.10 将 JSON 反序列化为 Enum
- c# - 启用 HSTS 的站点和渗透测试