摘要:表單驗(yàn)證器為何使用驗(yàn)證器原因用戶輸入的數(shù)據(jù)各式各樣并不總是正確的如果用戶輸入了錯(cuò)誤的數(shù)據(jù)格式那么我們希望給他們提供實(shí)時(shí)正確的反饋并且阻止表單的提交因此我們需要驗(yàn)證器來處理這些情況驗(yàn)證器驗(yàn)證器由模塊提供該模塊從中導(dǎo)出使用驗(yàn)證器的方法為對象指定
Angular 表單驗(yàn)證器 為何使用驗(yàn)證器?
原因: 用戶輸入的數(shù)據(jù)各式各樣,并不總是正確的,如果用戶輸入了錯(cuò)誤的數(shù)據(jù)格式,那么我們希望給他們提供實(shí)時(shí)正確的反饋,并且阻止表單的提交.因此,我們需要驗(yàn)證器來處理這些情況.
Angular 驗(yàn)證器1.驗(yàn)證器由Validators模塊提供,該模塊從"@angular/forms"中導(dǎo)出
import { Validators }from"@angular/forms"
2.使用驗(yàn)證器的方法
// 為FormControl對象指定一個(gè)驗(yàn)證器 // 在視圖中檢查驗(yàn)證器的狀態(tài),并根據(jù)返回值做出反應(yīng) 例子1: let control = new FormControl("name", Validators.required); 例子2: this.myForm = this.fb.group({ "name": ["", Validators.required] });
3.驗(yàn)證器可以驗(yàn)證的信息
// 檢查單個(gè)字段的有效性 方式一: myForm.controls["name"].hasError(""); 方式二: myForm.hasError("", "name"); // 檢查整個(gè)表單的有效性 myForm.valid // 整個(gè)formGroup是否可用 myForm.dirty // 是否被修改過 myForm.touched // 是否提交過自定義驗(yàn)證器
1.首先查看Angular源代碼,例如Validators.required:
export class Validators { static required(c: FormControl): StringMap{ return isBlank(c.value) || c.value == "" ? { "required": true } : null; } }
2.編寫自定義驗(yàn)證器
// name必須以"zhou"開頭 function nameValidator(control: FormControl): { [s: string]: boolean } { if (!control.value.match(/^zhou/)) { return { invalidName: true }; } } // 使用方法 this.myForm = this.fb.group({ "name": ["", [Validators.required, this.nameValidator]] });
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/92591.html
摘要:表單驗(yàn)證使用場景在實(shí)際的開發(fā)中我們可能會(huì)有這樣的情況。姓名不能為空姓名太短姓名太長姓名不能為空姓名太短姓名太長借助表單本身比之前的更簡單了。結(jié)尾以上就是關(guān)于表單驗(yàn)證的全部內(nèi)容。 前言 在之前的文章《angular表單驗(yàn)證》中主要介紹了一些關(guān)于angular表單驗(yàn)證的基礎(chǔ)知識。在此篇中將著重以擴(kuò)展angular表單驗(yàn)證的相關(guān)內(nèi)容和實(shí)際開發(fā)中的應(yīng)用為主。 表單驗(yàn)證使用場景1 在實(shí)際的開發(fā)...
摘要:在模塊里面引入要使用響應(yīng)式表單,就要從包中導(dǎo)入,并把它添加到你的的數(shù)組中。導(dǎo)入驗(yàn)證器函數(shù)響應(yīng)式表單包含了一組開箱即用的常用驗(yàn)證器函數(shù)。這些驗(yàn)證器屬性可以和響應(yīng)式表單提供的內(nèi)置驗(yàn)證器組合使用。 1:在AppModule模塊里面引入 ReactiveFormsModule 要使用響應(yīng)式表單,就要從@angular/forms包中導(dǎo)入ReactiveFormsModule,并把它添加到你的N...
摘要:在模塊里面引入要使用響應(yīng)式表單,就要從包中導(dǎo)入,并把它添加到你的的數(shù)組中。導(dǎo)入驗(yàn)證器函數(shù)響應(yīng)式表單包含了一組開箱即用的常用驗(yàn)證器函數(shù)。這些驗(yàn)證器屬性可以和響應(yīng)式表單提供的內(nèi)置驗(yàn)證器組合使用。 1:在AppModule模塊里面引入 ReactiveFormsModule 要使用響應(yīng)式表單,就要從@angular/forms包中導(dǎo)入ReactiveFormsModule,并把它添加到你的N...
摘要:在模塊里面引入要使用響應(yīng)式表單,就要從包中導(dǎo)入,并把它添加到你的的數(shù)組中。導(dǎo)入驗(yàn)證器函數(shù)響應(yīng)式表單包含了一組開箱即用的常用驗(yàn)證器函數(shù)。這些驗(yàn)證器屬性可以和響應(yīng)式表單提供的內(nèi)置驗(yàn)證器組合使用。 1:在AppModule模塊里面引入 ReactiveFormsModule 要使用響應(yīng)式表單,就要從@angular/forms包中導(dǎo)入ReactiveFormsModule,并把它添加到你的N...
閱讀 1375·2019-08-30 15:55
閱讀 1655·2019-08-26 10:21
閱讀 3447·2019-08-23 18:28
閱讀 3383·2019-08-23 15:38
閱讀 754·2019-08-23 15:24
閱讀 2143·2019-08-23 13:59
閱讀 785·2019-08-23 11:31
閱讀 2875·2019-08-23 10:53