angular6 - 用户离开 FormBuilder 中的控件后如何进行表单字段验证
问题描述
在我的Reactive Form
中,我为字段添加了验证。表格位于https://stackblitz.com/edit/angular-jx7fdu
我希望在用户离开输入字段后进行验证。我怎么能做到?我在 SO 上找到了这个答案,但如果我FormControl
直接使用而不是 with似乎它会起作用,FormBuilder
因为它似乎FormBuilder
不带AbstractControlOptions
参数。
解决方案
当表单输入时,您显示错误
- 有错误
- 被触摸或脏了
当您关注表单输入时,没有任何变化。当您输入任何字符时,它会变脏(仍然未触及),当您离开它时,它会变脏并被触摸。
因此,如果您希望在离开输入字段后显示错误消息,然后将您的代码从
(this.control.dirty || this.control.touched);
到
(this.control.dirty && this.control.touched);
因为那时你会显示验证错误,当有人更改并触摸一个控件时,而不仅仅是任何一个(即使你仍然专注于一个输入,也会显示错误)。
推荐阅读
- office365 - getAttachmentsAsync() 不会在回调中为内联附件返回 AttachmentDetailsCompose
- ios - 从列表中获取项目单击
- postgresql - 查询特定表列
- javascript - 如何删除此 CSV 生成器 for 循环中的多余逗号
- python - 从 R 或 python 中的字符串向量创建 0 和 1 的矩阵
- python - 如何在 Python/Terraform 中使用 sqlalchemy 加密服务器端(AWS Aurora serverless v1 数据库)?
- python-3.x - 在 tkinter 中更改已打包小部件的位置
- jsp - 如何从 Hybris 中的控制器调用 jsp 文件?
- php - laravel 中的 Request 和 LoginRequest 有什么区别
- kotlin - 如何在较低级别的管理器类中获得协程范围