angular6angularjs-ng-form

ngForm simple example in angular 6 with select box


Angular 6 form validation simple example. With email validation and select box(drop down).ngForm simple example in angular 6 with select box


Solution

  • 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.