精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

Angular8如何實(shí)現(xiàn)表單及其驗(yàn)證-創(chuàng)新互聯(lián)

小編給大家分享一下Angular8如何實(shí)現(xiàn)表單及其驗(yàn)證,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的高臺(tái)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

正文

(一)、新建表單(模板表單)

1、新建名稱為formValidator的ng項(xiàng)目——命令行輸入ng new formValidator;

2、修改pakage.json文件——添加參數(shù),方便開發(fā),命令行輸入npm start啟動(dòng)項(xiàng)目;

"scripts": {
 "ng": "ng",
 "start": "ng serve --open --port 4210",//修改端口號(hào)&自動(dòng)打開默認(rèn)瀏覽器窗口
 "build": "ng build",
 "test": "ng test",
 "lint": "ng lint",
 "e2e": "ng e2e"
 },

3、新建組件,命令行輸入ng g c templateForm --spec false;

4、將app.components.html中的內(nèi)容,替換成

5、在app.module.ts中引入FormModul并在import中使用;

6、書寫formValidator組件

 //template-form.html
 
  
  
  
  
  
  
   
    名稱為必填項(xiàng)
   
        名稱重復(fù)    
    
  提交 //驗(yàn)證通過才能提交      
  //template-form.ts
  ...
  
  name: string;
  
  nameAry:string[] = ['zhangsan','lisi','wangwu'];
  
  constructor() { }

  ngOnInit() {}
  
  save(): void{
    console.log('save 發(fā)請(qǐng)求')
  }
  ...

(二)、驗(yàn)證表單

1、新建指令,用于驗(yàn)證ng g c d share/verifyName

2、在share目錄下新建nameValidator.ts,用于書寫驗(yàn)證函數(shù)

  //share/nameValidator.ts
  
  import { ValidatorFn, AbstractControl } from "@angular/forms";

  export function nameValidator(nameList: string[]): ValidatorFn {
    return (control: AbstractControl): { [key: string]: any } | null => {
      //依據(jù)指令中傳遞進(jìn)來(lái)的名稱列表進(jìn)行判斷,如果包含,就返回一個(gè)對(duì)象,對(duì)象的key將
      //作為模板(template-form.html)中被驗(yàn)證的控件的erros的key,如果不包含返回null
      //表示驗(yàn)證通過
      return nameList.includes(control.value) ? { 'repeat': { value: control.value } } : null;
    };
  }

3、書寫指令——驗(yàn)證名稱不能重復(fù)

  //verify-name.directive.ts
  
  import { Directive, Input } from '@angular/core';
  import { Validator, NG_VALIDATORS, AbstractControl } from '@angular/forms';
  import { nameValidator } from './nameValidator';
  
  @Directive({
   selector: '[appVerifyName]',
   providers: [{
    provide: NG_VALIDATORS,
    useExisting: VerifyNameDirective,
    multi: true
   }]
  })
  export class VerifyNameDirective implements Validator { //實(shí)現(xiàn)Validator接口
  
   @Input('appVerifyName') //接收驗(yàn)證規(guī)則(reg),或者你希望傳到指令中的什么
   nameList: string[];
  
   validate(control: AbstractControl): { [key: string]: any } | null {
    return this.name ? nameValidator(nameList)(control) : null
   }
  }

以上是“Angular8如何實(shí)現(xiàn)表單及其驗(yàn)證”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!

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


標(biāo)題名稱:Angular8如何實(shí)現(xiàn)表單及其驗(yàn)證-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://m.jcarcd.cn/article/csjoep.html

其他資訊

主站蜘蛛池模板: 国产性色强伦免 | 国产精品视频免费的 | 国产绿帽性爱一区 | 九九热国产视频 | 国产视频福利 | 午夜福利精品一区 | 国语自产拍在线观 | 囯产精品成人 | 日韩精品免费 | 日韩高清在线亚洲 | 午夜视频在线观 | 精品国产系列 | 人摸人人人澡 | 欧美日韩乱一区二区 | 成人精品视频17c | 精品欧美亚 | 91高清影院 | 另类重口 | 国语自产| 午夜亚洲 | 国产亚洲第一页电影 | 日韩精品免费 | 国产毛多水多 | 国产黑丝一区 | 国产福利在线导航 | 蜜桃网址| 日韩伦理午夜福利 | 亚洲无码中文字幕在线观看 | 欧美日韩国产亚 | 九九视频免费看 | 国际b站免费视频入 | 91福利在线网 | 日韩中文字幕六区 | 国产午夜艹逼 | 老司机导航成人影院 | 91亞洲播播 | 精品免费一区二区三 | 91秘入口| 精品午夜日韩 | 国产福利众筹视频 | 国产91精品成人 |