带有空格的 Angular 电子邮件验证器

Eli*_*res 1 angular-validation angular angular-reactive-forms

我正在开发一个新的基于 Angular 的应用程序,其中包含一个基于电子邮件和密码的登录表单。

它有这些字段的表单,由以下几行定义:

let formConfig = {
  email: ['', [Validators.required, Validators.email]],
  password: ['', [Validators.required]],
};

this.form =  this.formBuilder.group(formConfig)
Run Code Online (Sandbox Code Playgroud)

它按预期工作,除了一种情况:

当用户使用三星(和其他人)的自动完成功能来填充电子邮件字段时,它会在电子邮件后插入一个空格,并Validators.email假定这是一封无效的电子邮件。

我的问题是如何解决这种特殊情况?

我很确定我可以放置一些现有的电子邮件验证正则表达式,但我讨厌重新发明轮子,如果验证器存在,创建另一个看起来很疯狂。

是否可以实现某种验证器来修改我的表单控件值以去除空格?

小智 6

我也有同样的经历。

对于仍然遇到此问题的每个人;

添加type="email"到您<input>的组合中Validators.email应该可以解决问题。