1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢(xún)
      選擇下列產(chǎn)品馬上在線(xiàn)溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
      Angular2如何自定義validators-創(chuàng)新互聯(lián)

      這篇文章主要介紹了Angular2如何自定義validators,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

      創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁(yè)美工、網(wǎng)站程序員、網(wǎng)頁(yè)設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷(xiāo)人員及形象策劃。承接:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫(kù)開(kāi)發(fā),以高性?xún)r(jià)比制作企業(yè)網(wǎng)站、行業(yè)門(mén)戶(hù)平臺(tái)等全方位的服務(wù)。

      angular 當(dāng)需要form表單需要驗(yàn)證時(shí),angular自帶了許多校驗(yàn)器,但是很多時(shí)候自帶的無(wú)法滿(mǎn)足業(yè)務(wù)需求,這時(shí)候就需要自定義的校驗(yàn)器

      定義一個(gè)validator

      定義validator 需要實(shí)現(xiàn) ValidatorFn 接口

      源碼:

      export interface ValidatorFn {
        (c: AbstractControl): ValidationErrors | null;
      }

      接收一個(gè) AbstractControl 返回 ValidationErrors 或者null

      ValidationErrors 源碼

      export declare type ValidationErrors = {
        [key: string]: any;
      };

      這其實(shí)就是返回一個(gè) key value 類(lèi)型的對(duì)象,這個(gè)對(duì)象會(huì)在驗(yàn)證信息不通過(guò)的時(shí)候賦值給 formControl.errors

      寫(xiě)好的Validator 需要在創(chuàng)建FormControl作為參數(shù)傳入

      FormControl 的構(gòu)造器源碼

      export declare class FormControl extends AbstractControl {
        constructor(formState?: any, validator?: ValidatorFn | ValidatorFn[] | null, asyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null);

      下面是個(gè)簡(jiǎn)單的例子(校驗(yàn)郵箱地址):

      定義一個(gè)返回 ValidatorFn 接口的方法

      static EMAIL_REG = new RegExp('\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}');
      static email(): ValidatorFn {
        return (control: AbstractControl): { [key: string]: any } => { ①
         if (!EMAIL_REG.test(control.value)) { ②
          return { ③
           errMsg: '請(qǐng)輸入正確的郵箱地址'
          };
         }
         return {}; ④
        };
       }

      ① 方法返回 ValidatorFn 的實(shí)例

      ② 判斷是否符合郵箱正則表達(dá)式

      ③ 如果不符合 返回一個(gè) ValidationErrors 對(duì)象,errMsg 作為錯(cuò)誤信息輸出 (這里也可以再加一個(gè) 布爾型的作為判斷)

      ④ 如果校驗(yàn)成功返回一個(gè)空的對(duì)象

      傳入校驗(yàn)器

      email = new FormControl('', email())

      模板:

      {{email.errors.errMsg}}

      當(dāng)郵箱格式不正確時(shí) 這里就會(huì)顯示 ‘請(qǐng)輸入正確的郵箱地址'

      至此一個(gè)簡(jiǎn)單的校驗(yàn)器就完成了。

      如果想比較2個(gè)form的值是否相等的話(huà)只需要做一些小的改變

      static EMAIL_REG = new RegExp('\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}');
      static email(emailForm: FormControl): ValidatorFn { ①
        return (control: AbstractControl): { [key: string]: any } => { 
         if (emailForm.value !== control.value ) { 
          return { 
           errMsg: '請(qǐng)輸入相同郵箱地址'
          };
         }
         return {}; 
        };
       }

      ① 只需要在這里傳入另一個(gè)需要做對(duì)比的 formControl 即可

      email = new FormControl('', email())
      email2 = new FormControl('', email(email))

      感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Angular2如何自定義validators”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)建站,關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

      另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


      當(dāng)前題目:Angular2如何自定義validators-創(chuàng)新互聯(lián)
      瀏覽地址:http://www.ef60e0e.cn/article/godie.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        开封县| 吴江市| 昌黎县| 洛扎县| 呼图壁县| 绥滨县| 嫩江县| 兰考县| 怀柔区| 嵊泗县| 雷山县| 花莲市| 曲周县| 中西区| 福州市| 常州市| 遂平县| 丹巴县| 乌兰察布市| 平度市| 汪清县| 科技| 长顺县| 天气| 同德县| 格尔木市| 正定县| 饶河县| 汽车| 滨州市| 织金县| 汝南县| 临城县| 东乌珠穆沁旗| 资阳市| 石阡县| 剑河县| 余江县| 鸡西市| 武夷山市| 德格县|