Angular 如何仅在提交表单时验证表单?

Angular 如何仅在提交表单时验证表单?,angular,forms,Angular,Forms,我正在使用这个简单的被动表单,我只在单击SendData按钮时才尝试验证它。有人能告诉我我错过了什么吗?提前多谢 这是我的密码: 您正在使用field.touch,如果表单已提交,则可以使用该条件 使用form=ngForm,您可以使用form.submitted条件 <form #form="ngForm" [formGroup]="registrationFormGroup" (ngSubmit)="onSubmit()"> <input [class.is-inv

我正在使用这个简单的被动表单,我只在单击SendData按钮时才尝试验证它。有人能告诉我我错过了什么吗?提前多谢

这是我的密码:

您正在使用field.touch,如果表单已提交,则可以使用该条件

使用form=ngForm,您可以使用form.submitted条件

<form #form="ngForm" [formGroup]="registrationFormGroup" (ngSubmit)="onSubmit()">
    <input [class.is-invalid]="form.submitted && username.invalid" type="text" formControlName="username"><br/>
    <small *ngIf="form.submitted && username.invalid && username.errors.required" style="color:red;">Name is required</small>

    //Rest of your form... 
</form>

你可以在这

中看到,你试图避免什么导致你只需要提交时验证?我已经对每个字段进行了验证,但我不想在用户单击提交按钮之前验证表单。如果你使用ngSubmit,这不是自动发生的吗?@BenSteward是的,你是对的。但是,问题是,如果用户关注字段1,然后切换到第二个字段,验证会立即执行,我不希望这样。我只想在单击提交按钮时显示错误消息。希望唤醒我在材料库中见过errorStateMatchers,我不知道你是否可以使用类似的东西来短路正常行为。你能提供stackbliz或现场演示吗?谢谢
<form #form="ngForm" [formGroup]="registrationFormGroup" (ngSubmit)="onSubmit()">
    <input [class.is-invalid]="form.submitted && username.invalid" type="text" formControlName="username"><br/>
    <small *ngIf="form.submitted && username.invalid && username.errors.required" style="color:red;">Name is required</small>

    //Rest of your form... 
</form>