3 回答
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>
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
}
}
- 3 回答
- 0 关注
- 666 浏览
添加回答
举报