【问题标题】:Displaying multiple 'mat-error' validation in template driven form在模板驱动的表单中显示多个“mat-error”验证
【发布时间】:2018-06-02 08:25:03
【问题描述】:

如何在模板驱动表单中使用 ng if else 验证多个错误时正确显示单个错误。

<form>
    <mat-card>
               <mat-card-content>
            <mat-form-field>
            
                <input id="email" name="email" #ref_email="ngModel" matInput type="email" email placeholder="Email" [(ngModel)]="email" required>
                
                <mat-error *ngIf="!ref_email.valid && ref_email.errors.required">
                    Email is required
                </mat-error>
                
                <mat-error *ngIf="!ref_email.valid && ref_email.errors.email">
                    Email is not valid
                </mat-error>
                
            </mat-form-field>
        </mat-card-content>        
    </mat-card>
</form>

【问题讨论】:

    标签: angular angular-ng-if


    【解决方案1】:

    首先,即使在模板驱动的表单上,您也需要使用类似这样的 html 属性来引用您的表单:&lt;form #userForm="ngForm"&gt;
    然后您可以检查所引用表单的错误:

                    <mat-error *ngIf="userForm.controls['email']?.errors?.required">
                        Email is required.
                    </mat-error>
    
                    <mat-error *ngIf="userForm.controls['email']?.errors?.email">
                        Email is not valid.
                    </mat-error>
    

    【讨论】:

    • 第一行*ngIf="*ngIf="
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 2018-10-26
    • 2017-06-27
    • 1970-01-01
    相关资源
    最近更新 更多