Reputation: 379
I want to validate my form field, but I have a formgroup inside it like this:
<form novalidate (ngSubmit)="onSubmit(user)" [formGroup]="user">
<label>
<span>Full name</span>
<input type="text" placeholder="Name" formControlName="name">
</label>
<div class="error" *ngIf="!user.controls.name.valid && user.controls.name.touched">
Name is required
</div>
<div formGroupName="account">
<label>
<span>Email address</span>
<input type="email" placeholder="Email" formControlName="email">
</label>
<div
class="error"
*ngIf="!user.controls.address.email.valid">
Email is required
</div>
<button type="submit" [disabled]="user.invalid">Sign up</button>
</form>
but at email field it is not working this
!user.controls.address.email.valid
how can I get if that field is valid or not to show the message?
Upvotes: 1
Views: 3329
Reputation: 2044
Suppose my structure would be
this.UserForm = this.fb.group({
id: [this.userobj.id],
addresses: this.fb.group({
street: [this.addrssobj.street, Validators.required],
})
});
My addresses.street validation would be like this (html)
<div formGroupName="addresses">
<div>
<label class="center-block"> Street: </label>
<input type="text" class="form-group" formControlName="street" required>
<div *ngIf="UserForm.get('addresses').get('street').hasError('required') && UserForm.get('addresses').get('street').touched" class="text-danger">
Street is required
</div>
</div>
Upvotes: 0
Reputation: 60518
Try syntax like this:
user.get('account.email').valid
I have a complete example here: https://github.com/DeborahK/Angular2-ReactiveForms This is code from my Pluralsight course: Angular 2: Reactive Forms.
Upvotes: 4