假设我有一个包含必填字段的表单。我正在通过ng-model用来自控制器的数据预填充这些字段。在此表单的提交按钮上,有一个ng-disabled属性,用于检查$ invalid,如下所示:
<button ng-click="next()" ng-disabled="form.is.$invalid">Next</button>
我遇到的问题是,当页面最初加载时,该按钮被禁用并且不检查字段的有效性,除非我返回并手动删除每个字段并重新输入它们的值。
我想知道如何在页面加载时检查此有效性,以便如果我有一些数据通过ng-model加载到字段中,它将仍然将所需的字段识别为有效。
谢谢。
我想出了这个问题的答案。我最终重新编写了表单,以检查单击按钮时的有效性(而不是使用ng-disabled。)
单击该按钮时,将检查字段并通过ng-show显示错误消息。在控制器中,检查form。$ error中的属性。如果向该对象添加了错误,则存在错误。逻辑如下所示:
$scope.buttonClick = function () {
var obj = $scope.form.$error, hasErrors = false, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
hasErrors = true;
}
}
if (!hasErrors) {
// proceed
}
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句