Angular 即使电子邮件格式不正确,电子邮件控制仍然有效

Angular Email Control valid even if the email format is inorrect

请检查代码:https://stackblitz.com/edit/angular-form-dirty-and-form-valid-check

这是一个简单的代码:

HTML :

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  name = 'Angular';

  registerForm: FormGroup = new FormGroup({
    email: new FormControl(null, [Validators.required, Validators.email])
  })
}

TS 文件:

<form [formGroup]="registerForm" (ngSubmit)="registerNew()" class="text-center">
    <label for="email">Email</label>
    <input
    [class.is-invalid]="registerForm.get('email').invalid && registerForm.get('email').touched"
    type="text" id="email" formControlName="email" class="form-control">
    <br>
  <small *ngIf="registerForm.get('email').valid &&
                registerForm.get('email').dirty">
    Valid Email ID
  </small>
</form>

这里好像有问题

当我输入电子邮件时:"a@gmail" 没有“.com”,然后它还会显示表明电子邮件有效的标签。

是功能不正确还是我遗漏了什么?

-阿希什

根据我评论中链接的问题,并非所有主机的名称中都有一个点。 gmail 仍然是有效主机或 "domain",与 localhost 相同。如果您在本地主机上使用邮件服务器 运行 正确配置了所有内容,您可以发送电子邮件至 user@localhost.