这个问题的根本原因是在表单验证中使用了不正确的模式匹配。通常,问题出现在邮政编码、电话号码和电子邮件的验证时。以下是一个针对电子邮件的代码示例:
在你的组件中,定义一个正则表达式:
emailPattern = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/;
在你的表单构造函数中,使用Validators.pattern()函数验证电子邮件:
this.myForm = this.fb.group({
email: ['', Validators.pattern(this.emailPattern)]
});
然后,在模块中导入FormControl和FormBuilder:
import { Component } from '@angular/core';
import { FormControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
现在,你的表单将会正确验证电子邮件地址,而不是误报。同样,你还可以使用类似的方法验证其他表单字段。
上一篇:Angular表单密码值未定义
下一篇:Angular表单嵌套对象