我正在开发一个新的基于 Angular 的应用程序,它有一个基于电子邮件和密码的登录表单。
它有一个用于这些字段的表单,由以下几行定义:
let formConfig = {
email: ['', [Validators.required, Validators.email]],
password: ['', [Validators.required]],
};
this.form = this.formBuilder.group(formConfig)
除一种情况外,它按预期工作:
当用户使用三星(和其他公司)的自动完成功能来填写电子邮件字段时,它会在电子邮件后插入一个空格,并且 Validators.email
会假定这是一封无效的电子邮件。
我的问题是如何解决这种特殊情况?
我很确定我可以只放置一些现有的电子邮件验证正则表达式,但我不想重新发明轮子,如果验证器存在,再创建一个看起来很疯狂。
是否可以实现某种验证器来修改我的表单控件值并去除空格?
最佳答案
我也有过同样的经历。
对于仍然遇到这个问题的每个人;
添加type="email"
给你的<input>
结合Validators.email
应该可以解决问题。
关于带空格的 Angular 电子邮件验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49373761/