国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

angular 表單驗證器驗證的同時限制輸入的實現(xiàn)

2024-05-06 15:40:48
字體:
供稿:網(wǎng)友

angular里面對于表單驗證,設置了很多指令。

也就是說不用自己寫一些邏輯,直接綁定指令就行。

ng-app     啟動你angular的模塊

 ng-controller 控制器,啟動你angualr里面的邏輯代碼作用在頁面上

ng-options  循環(huán)你select里面的option標簽,很好用的

 ng-submit,表單提交執(zhí)行的

novalidate  表單form配合后期檢測的

ng-model  實現(xiàn)雙數(shù)據(jù)綁定

ng-show 根據(jù)一定的邏輯實現(xiàn)顯示

ng-cloak 綁定在節(jié)點上,防止節(jié)點渲染,angular指令閃爍

ng-class class類名根據(jù)你的邏輯,出現(xiàn)

ng-required 檢測你的input為不為空

ng-pattern 正則表達式,綁定在input上面限制輸入規(guī)范

ng-maxlength 最多輸入限制

ng-minlength 最少輸入限制

ng-disabled="myForm.$invalid" 臟檢測

大概就需要這些指令了,大家不要噴我。謝謝

仔細回想以前使用響應式表單的驗證器的時候,只是驗證輸入的值是否非法,而沒有做對應的限制輸入,比如當輸入一串金額的時候只能輸入數(shù)字,有這種需求的時候,我們該怎么做限制輸入?用input來監(jiān)聽?用onModelChange來監(jiān)聽?我們可以直接寫在驗證器里面。

表單的驗證分為模板驅(qū)動驗證和響應式表單的驗證,響應式表單添加自定義驗證器非常方便,所以我們來直接以響應式表單的驗證為研究基礎。

首先構(gòu)造基本的表單:

<form nz-form [formGroup]="validateForm"> <nz-form-item>  <nz-form-label [nzSpan]="6" nzFor="code">GA Code</nz-form-label>  <nz-form-control [nzSpan]="14">   <input nz-input name="code" formControlName="code" id="code">  </nz-form-control> </nz-form-item ></form>
validateForm: FormGroup;constructor(  private fb: FormBuilder,) {}ngOnInit() {  this.validateForm = this.fb.group({    code: [33, [Validators.required, Validators.maxLength(6)]],  });}

我們創(chuàng)建的這個響應式表單是要驗證一個谷歌驗證的「code」字段,并給與了兩個驗證器,一個必填驗證,一個驗證長度最長是6位。運行起來后,我們輸入的如果超過6位范圍輸入框就會變成紅色,這是OK的。

現(xiàn)在我們需要在驗證的同時限制輸入,比如只讓用戶輸入數(shù)字,其他的一切都不可輸入。

創(chuàng)建驗證器,在驗證的同時,限制輸入

我們使用正則表達式來判斷。首先,判斷一個字符串是否是全數(shù)字:/^/d*$/.test(value)。然后將有「雜質(zhì)」的字符串修正為純數(shù)字:value.replace(/[^0-9]/ig, '')。

思路是,創(chuàng)建驗證器,當有輸入值的時候,驗證器運行,判斷是否是全數(shù)字,如果不是就進行替換。我們可以得到如下的驗證器:

onlyNumber(): ValidatorFn {  return (control: AbstractControl): {[key: string]: any} | null => {    // value有值且如果值包含非數(shù)字,就需要替換    if (control.value && !/^/d*$/.test(control.value)) {      control.setValue(control.value.replace(/[^0-9]/ig, ''), {        emitEvent: false,        emitViewToModelChange: false,      });    }    return null;  };}            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 吴江市| 道孚县| 浦北县| 平南县| 剑河县| 平南县| 金阳县| 盱眙县| 永新县| 蛟河市| 富民县| 祁门县| 宣威市| 酒泉市| 马关县| 宁强县| 舒兰市| 浑源县| 西丰县| 铜山县| 济宁市| 凌云县| 吉林市| 赤峰市| 门头沟区| 宿迁市| 靖西县| 开鲁县| 拜城县| 衡东县| 喜德县| 海伦市| 吐鲁番市| 徐闻县| 辽宁省| 聊城市| 阿鲁科尔沁旗| 梁河县| 竹溪县| 东平县| 西乌珠穆沁旗|