在验证完成之前,AngularJS 表单$valid设置为 true
AngularJS form $valid set to true before validation completes
我在页面的左侧导航中显示一个验证符号,以指示表单是否有效。当我最初加载页面时,表单的 $valid 属性设置为 true,然后最终它变为 false(因为它应该被赋予检索到的输入数据)。结果是我的验证符号从有效闪烁到无效。 有什么办法可以防止这种情况吗?目前,验证符号与$scope上的有效属性相关联,该属性在监视中设置。是否有任何逻辑可以添加到手表中以检查表单是否尚未完成初始化或验证?谢谢!
这是我目前的手表代码。有效属性在几个不同的监视周期后从未定义变为 true 再到 false。
$scope.$watch( 'sections.' + section.sectionName + '.sectionForm.$valid', function( valid ) {
section.valid = valid;
}, true);
以及显示验证符号的 HTML:
<span ng-class="{ 'fa fa-check': section.valid,
'fa fa-warning': !section.valid}">
</span>
我认为问题是$watch函数。第一次将"section.valid"设置为未定义。您无需手动观看。每个表单指令创建 FormController 的一个实例。因此,您可以直接在视图中检查表单有效性。
<span ng-class="{'fa fa-check': sectionFormName.$valid, 'fa fa-warning': sectionFormName.$invalid}"></span>
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何使用WCF服务和javascript表单post上传.doc文件
- Javascript生成的表单未提交
- 如何使用javascript或html下载PDF格式的填写表单
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- Ajax发布表单序列化,发布引号'
- 多级HTML表单
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 在验证和发送邮件后更改联系人表单的 html
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- 如何从pdftron webviewer获取表单数据
- JS验证ajax返回的html中的表单数据
- Javascript更新孙窗口中的表单元素
- 如何以角度访问表单元素的$valid
- 如何在 ng 重复中访问 Angular 表单上的$valid
- 使用 Jquery.valid() Asp.net MVC 中的多表单验证
- 在验证完成之前,AngularJS 表单$valid设置为 true