我正在使用Validators.email
指令(https://angular.io/api/forms/EmailValidator)检查电子邮件ID的结构是否正确。但是,我注意到它传递了hello.com@com
输入。这是预期的行为吗?代码示例位于https://stackblitz.com/edit/angular-xesgxe
检查createForm()
中的signup-component.component.ts
功能
答案 0 :(得分:1)
正如enf0rcer在他的评论中所说,这是正确的行为。但是,如果您不满意,可以在signup-component.component.ts
中使用以下代码。
export class SignupComponentComponent implements OnInit{
EMAIL_PATTERN = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
constructor() {}
createForm(){
this.signupForm = this.fb.group({
email:[null,[Validators.required,Validators.pattern(this.EMAIL_PATTERN)]],
});
}
}
查看更新后的example。