Use ngForm. Import it your component.module.ts(module file)
import { FormsModule } from '@angular/forms';
Add it your component template
<form role="form" (ngSubmit)="f.form.valid && onSubmit()" #f="ngForm" novalidate>
<select name="name_id" [(ngModel)]="model.name_id" #name_id="ngModel" [ngClass]="{ 'is-invalid': f.submitted && name_id.invalid }" required>
<option value="" disabled selected>Select Name</option>
<option *ngFor="let name of allnames" [value]="name.name_id">{{name.name}}</option>
</select>
<div *ngIf="f.submitted && name_id.invalid" class="invalid-feedback">
<div *ngIf="name_id.errors.required">Name is required</div>
</div>
<input type="email" placeholder="Email" name="email" [(ngModel)]="recoverModel.email" #email="ngModel" pattern="^w+([.-]?w+)*@w+([.-]?w+)*(.w{2,3})+$" [ngClass]="{ 'is-invalid': recoverForm.submitted && email.invalid }" required />
<div *ngIf="recoverForm.submitted && email.invalid" class="invalid-feedback">
<div *ngIf="email.errors.required">Email is required</div>
<div *ngIf="email.errors.pattern">Email is invalid</div>
</div>
<button type="submit">save</button>
</form>
Add it your component.ts
allnames = [{
name_id: 1,
name: 'Jhon'
}, {
name_id: 2,
name: 'Chena'
}, {
name_id: 3,
name: 'Jack'
}]
model: any = {};
ngOnInit() {
this.model.name_id = 2;
}
The name Chena is selected in select box and email valid. It's work well. And i will use it.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…