typescript Angular中的表单验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript Angular中的表单验证相关的知识,希望对你有一定的参考价值。

import { Component } from '@angular/core';

@Component({
    selector: 'sandbox',
    template: `
            <h1>Hello World</h1>   
            <form novalidate #f="ngForm" (ngSubmit)="onSubmit(f)">
                <div class="form-group">
                    <label>Name</label>
                    <input type="text" 
                        [(ngModel)]="user.name" 
                        name="name" 
                        #userName="ngModel"
                        minlength="2"
                        required 
                        class="form-control">
                    <div *ngIf="userName.errors?.required && userName.touched" 
                                class="alert alert-danger">
                        Name is required
                    </div>
                    <div *ngIf="userName.errors?.minlength && userName.touched" 
                                class="alert alert-danger">
                        Name should be atleast 2 characters
                    </div>
                </div>
                <div class="form-group">
                    <label>Email</label>
                    <input type="text" 
                        [(ngModel)]="user.email" 
                        name="email" 
                        #userEmail="ngModel"
                        required 
                        class="form-control">
                    <div *ngIf="userEmail.errors?.required && userEmail.touched" 
                                class="alert alert-danger">
                        Email is required
                    </div>
                </div>
                <div class="form-group">
                    <label>Phone</label>
                    <input type="text" 
                        [(ngModel)]="user.phone" 
                        name="phone" 
                        #userPhone="ngModel"
                        minlength="10"
                        class="form-control">
                    <div *ngIf="userPhone.errors?.minlength && userPhone.touched" 
                            class="alert alert-danger">
                        Phone should be atleast 10 digits
                    </div>
                </div>
                <input type="submit" class="btn btn-success" value="Submit">
            </form>
           
            `
})

export class SandboxComponent {
    user = {
        name: '',
        email: '',
        phone: ''

    }

    onSubmit({value, valid}){
        if(valid) {
            console.log("Form is valid", value);
        }else{
            console.log("Form is invalid");
        }
    }
}

以上是关于typescript Angular中的表单验证的主要内容,如果未能解决你的问题,请参考以下文章

在新的 Angular 2 表单中将 NgModel 绑定到 FormControl

验证模板表单中的复选框列表(不是反应式表单)Angular 2

异步验证器不适用于 Angular 中的模板驱动表单

Angular 2.0 中的模型驱动表单验证问题

表单验证不适用于 Ionic 2 中的 Angular 2 FormBuilder

Typescript,Angular 2 - 将 Json 解析为 http 中的对象