angularjs - 当表单中存在任何自定义 ng-message 错误时,是否可以禁用 Angular js 中的按钮?
问题描述
当表单中有任何错误消息时,是否可以禁用表单中的按钮,而不是内置错误,例如“必需”、“最小长度”,例如验证条件?
解决方案
希望以下有所帮助
- 如果您使用 设置自定义错误
$scope.formName.$setValidity('errName', false);
,那么您可以formName.$error.errName
在 ng-disabled 中用作条件
在 JS 中,
$scope.formName.$setValidity('errName', false);//invalidate the form
您可以在需要时将错误设置为 true。
在 HTML 中,
<button type="button" ng-disabled="formName.$error.err">Button</button>
- 您可以使用标志并在出错时将其切换为 true 并在 ng-disabled 中使用该标志
在 JS 中,
$scope.disableBtn = true; //whenever button is to be disabled.
在 HTML 中,
<button type="button" ng-disabled="disableBtn">Button</button>
更新:添加 plunker 链接 https://plnkr.co/edit/5CFpFMAnZ8kkBh5z5vH4?p=preview
推荐阅读
- gradle - 我包含一些库后的 Gradle 错误(Shared_preference)
- uwp - UWP 中的 UserDataTask 是什么?
- aws-lambda - 内联部署 lambda 函数
- javascript - Visual Studio Asp.net 核心 Angular 模板在构建时自动运行测试
- reactjs - React loadable 可与两个 repos/create-react-app 一起使用
- python - 我使用 HitCount 创建了一个计数器并在导入事务 django.db 中出错
- ios - 如何使用 fastlane 扫描设置 COMPILER_INDEX_STORE_ENABLE=NO?
- pandas - 如何将 periodindex 用于列名
- django - 在管理视图中更改 Django 模型名称索引
- sqlite - Access 中的 SQLite 链接表仅在插入新值后才给出 #Deleted 值