繁体   English   中英

验证输入电子邮件 Angular 8 列表

[英]Validate a list of inputs email Angular 8

我在 Angular 8 中有这个代码,它向我显示了一个输入列表,比如附加的图像。

我遇到的问题是,当我单击“完成”按钮时,我必须验证电子邮件的语法,如果无效,还要更改输入的颜色:

在此处输入图片说明

如果它只是一个字段,我会使用 formGroup 进行验证,但我不知道如何验证电子邮件字段列表。

请任何帮助。

这是代码:

    // TS

this.admins = [{first_name: "", last_name: "", email: ""}]

public addAdmin(): void{
    this.admins.push({first_name: "", last_name: "", email: ""});
}

// HTML
<div class="row adminTableGetStarted" *ngFor="let ad of admins">
    <div class="colThree input">
        <input name="first-name-admin" type="text" placeholder="" 
        [(ngModel)]="ad.first_name" />
    </div>
    <div class="colThree input">
        <input name="last-name-admin" type="text" placeholder="" 
        [(ngModel)]="ad.last_name"  />
    </div>
    <div class="colThree input">
        <input name="email-admin" type="email" placeholder="" 
        [(ngModel)]="ad.email" 
        pattern="^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@\w+([\.-]?\w+)*(\.\w{2,6})+$" />
    </div>
</div>
<div class="addAdminPlus" (click)="addAdmin()">
+ Add Administrator
</div>


    

虽然有一点学习曲线,但我相信 Angular 的FormArray将最适合您的情况。 这个想法是,您将设置一个新的FormArray ,您可以在其中像普通数组一样推送数据,但它还包含一些内置验证。

我建议从基础到更复杂的学习以下内容:

  1. 使用FormControl示例了解反应式表单的基础知识。
  2. 了解如何设置包含多个/不同FormControlFormGroup
  3. 了解如何设置包含FormArrayFormGroup ,其中包含多个/类似的FormControl s。

一旦您理解了上述内容,为电子邮件设置验证就非常简单了。 当您为每封电子邮件定义FormControl ,您可以添加 Angular 的内置验证。

new FormControl('', Validators.email)

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM