我的第一个Angular 5应用程序。
我已经阅读了https://angular.io/guide/form-validation以及我用Google搜索的几个页面来找到答案,但却发现它们都已经过时了。
我的表单上有多个输入框,如:
<form name="pizzaPlaceForm" class="form-container">
<mat-form-field>
<input matInput placeholder="Shop Name" [(ngModel)]="pizzaPlace.shopName"
id="shopName" name="shopName" #shopName="ngModel"
required minlength="4">
<mat-error>You must provide a shop name at least 4 characters in length.</mat-error>
</mat-form-field>
<br/>
<mat-form-field>
<input matInput placeholder="Contact Name" [(ngModel)]="pizzaPlace.contactName"
id="contactName" name="contactName" #contactName="ngModel"
required minlength="4">
<mat-error>You must provide a contact name at least 4 characters in length.</mat-error>
</mat-form-field>
</form>
现在我想控制按钮的禁用状态,只有在输入所有必填字段后才能启用它,例如:
<button mat-raised-button disabled="pizzaPlaceForm.$invalid" (click)="onCreateClick()" *ngIf="createMode">Create</button>
只有它看起来$ invalid无效,所以我如何使用Angular 5?
答案 0 :(得分:2)
如果表单无效,您要禁用该按钮。所以你可以尝试下面的
<button mat-raised-button [disabled]="!pizzaPlaceForm.valid" (click)="onCreateClick()" *ngIf="createMode">Create</button>
&#13;
答案 1 :(得分:0)
使用ngForm
为表单添加一个标识符。然后您可以禁用提交按钮
具有[disabled]属性。
[disabled]="pizzaPlace.form.invalid"
或[disabled]="pizzaPlace.invalid"
<form #pizzaPlace="ngForm" name="pizzaPlaceForm" class="form-container">
<button mat-raised-button [disabled]="pizzaPlace.form.invalid" (click)="onCreateClick()" *ngIf="createMode">Create</button>
</form>