背景:我目前正在使用选项卡处理应用程序; 我想列出未通过验证的字段/部分,以指示用户在正确的选项卡中查找错误。
所以我试图利用form.$error
这样做; 但我并没有完全理解它的工作原理。
如果内部发生验证错误ng-repeat
,例如:
<div ng-repeat="url in urls" ng-form="form">
<input name="inumber" required ng-model="url" />
<br />
</div>
空值导致form.$error
包含以下内容:
{“required”:[
{
“inumber”:{}
},
{
“inumber”:{}
}
] }
另一方面,如果验证错误发生在此之外ng-repeat
:
<input ng-model="name" name="iname" required="true" />
该form.$error
对象包含以下内容:
{“required”:[{}]}
但是,我期望以下内容:
{“required”:[{'iname':{}}]}
关于为什么元素名称缺失的任何想法?
发布于 2018-05-04 10:20:24
<ul>
<li ng-repeat="(key, errors) in form.$error track by $index"> <strong>{{ key }}</strong> errors
<ul>
<li ng-repeat="e in errors">{{ e.$name }} has an error: <strong>{{ key }}</strong>.</li>
</ul>
</li>
</ul>
发布于 2018-05-04 10:32:42
function formErrors(form){
var errors = [];
for(var key in form.$error){
errors.push(key + "=" + form.$error);
}
if(errors.length > 0){
console.log("Form Has Errors");
console.log(form.$error);
}
};
https://stackoverflow.com/questions/-100008360
复制相似问题