81 lines
1.7 KiB
HTML
81 lines
1.7 KiB
HTML
<!-- #docplaster -->
|
|
<!-- #docregion ng-submit -->
|
|
<form [formGroup]="profileForm" (ngSubmit)="onSubmit()">
|
|
<!-- #enddocregion ng-submit -->
|
|
<label>
|
|
First Name:
|
|
<!-- #docregion required-attribute -->
|
|
<input type="text" formControlName="firstName" required>
|
|
<!-- #enddocregion required-attribute -->
|
|
</label>
|
|
|
|
<label>
|
|
Last Name:
|
|
<input type="text" formControlName="lastName">
|
|
</label>
|
|
|
|
<div formGroupName="address">
|
|
<h3>Address</h3>
|
|
|
|
<label>
|
|
Street:
|
|
<input type="text" formControlName="street">
|
|
</label>
|
|
|
|
<label>
|
|
City:
|
|
<input type="text" formControlName="city">
|
|
</label>
|
|
|
|
<label>
|
|
State:
|
|
<input type="text" formControlName="state">
|
|
</label>
|
|
|
|
<label>
|
|
Zip Code:
|
|
<input type="text" formControlName="zip">
|
|
</label>
|
|
</div>
|
|
|
|
<!-- #docregion formarrayname -->
|
|
<div formArrayName="aliases">
|
|
<h3>Aliases</h3> <button (click)="addAlias()">Add Alias</button>
|
|
|
|
<div *ngFor="let address of aliases.controls; let i=index">
|
|
<!-- The repeated alias template -->
|
|
<label>
|
|
Alias:
|
|
<input type="text" [formControlName]="i">
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<!-- #enddocregion formarrayname -->
|
|
|
|
<!-- #docregion submit-button -->
|
|
<button type="submit" [disabled]="!profileForm.valid">Submit</button>
|
|
<!-- #enddocregion submit-button -->
|
|
</form>
|
|
|
|
<hr>
|
|
|
|
<!-- #docregion display-value -->
|
|
|
|
<p>
|
|
Form Value: {{ profileForm.value | json }}
|
|
</p>
|
|
<!-- #enddocregion display-value -->
|
|
|
|
<!-- #docregion display-status -->
|
|
|
|
<p>
|
|
Form Status: {{ profileForm.status }}
|
|
</p>
|
|
<!-- #enddocregion display-status -->
|
|
|
|
<!-- #docregion patch-value -->
|
|
<p>
|
|
<button (click)="updateProfile()">Update Profile</button>
|
|
</p>
|
|
<!-- #enddocregion patch-value -->
|