3 回答

TA貢獻1817條經(jīng)驗 獲得超6個贊
我發(fā)現(xiàn)一個實現(xiàn)許多自定義驗證器的庫-ng2-validation-可與模板驅(qū)動的表單(屬性指令)一起使用。例:
<input type="number" [(ngModel)]="someNumber" name="someNumber" #field="ngModel" [range]="[10, 20]"/>
<p *ngIf="someNumber.errors?.range">Must be in range</p>

TA貢獻1790條經(jīng)驗 獲得超9個贊
通過創(chuàng)建實現(xiàn)該Validator接口的指令,您可以輕松實現(xiàn)自己的驗證(模板驅(qū)動)。
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
}
}
- 3 回答
- 0 關(guān)注
- 696 瀏覽
添加回答
舉報