亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Angular 2 Final中的最小/最大驗證器

Angular 2 Final中的最小/最大驗證器

MYYA 2019-11-18 18:17:46
根據thinkgram.io,當前支持的驗證器為:需要最小長度最長長度圖案因此,請考慮以下代碼(此處為plunkr):@Component({  selector: 'my-app',  template: `  <form #formRef="ngForm">    <input type="number" [(ngModel)]="firstValue" name="firstValue" min="0" required/>    <input type="text" [(ngModel)]="secondValue" maxlength="5" name="secondValue" required/>    <button type="submit"> Submit </button>   </form>  FORM: {{formRef.form | json }}`})export class AppComponent {   firstValue = -22;  secondValue = "eyy macarena!"; }雖然minlength受支持,但min="0"角度驗證將忽略它:因此,當firstValue ngModel <0時,要使表單導致錯誤,是否需要構建自定義驗證器?
查看完整描述

3 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

我發現一個實現許多自定義驗證器的庫-ng2-validation-可與模板驅動的表單(屬性指令)一起使用。例:


<input type="number" [(ngModel)]="someNumber" name="someNumber" #field="ngModel" [range]="[10, 20]"/>

<p *ngIf="someNumber.errors?.range">Must be in range</p>


查看完整回答
反對 回復 2019-11-18
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

通過創建實現該Validator接口的指令,您可以輕松實現自己的驗證(模板驅動)。


import { Directive, Input, forwardRef } from '@angular/core'

import { NG_VALIDATORS, Validator, AbstractControl, Validators } from '@angular/forms'


@Directive({

  selector: '[min]',

  providers: [{ provide: NG_VALIDATORS, useExisting: MinDirective, multi: true }]

})

export class MinDirective implements Validator {


  @Input() min: number;


  validate(control: AbstractControl): { [key: string]: any } {


    return Validators.min(this.min)(control)


    // or you can write your own validation e.g.

    // return control.value < this.min ? { min:{ invalid: true, actual: control.value }} : null




  }


}


查看完整回答
反對 回復 2019-11-18
  • 3 回答
  • 0 關注
  • 700 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號