使用正则表达式来验证电子邮件格式,并将其添加为自定义验证器。
示例代码:
// 自定义电子邮件验证器
export function emailValidator(control: FormControl): {[key: string]: any} {
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/i;
const valid = emailRegex.test(control.value);
return valid ? null : {'email': true};
}
// 在组件中使用自定义验证器
this.formGroup = new FormGroup({
'email': new FormControl('', [
Validators.required,
emailValidator // 添加自定义验证器
]),
// ...其他控件
});
通过添加自定义电子邮件验证器,我们可以覆盖Angular内置的不正确电子邮件验证器,确保只有符合要求的电子邮件格式可提交给后端。