我写了一个最小验证指令。如何从模板中访问我的指令值? limitChartsForm.min不起作用。
模板:
<input type="text" class="form-control" min="1" max="10" [(ngModel)]="_limit"
#limitChartsForm="ngModel">
({{limitChartsForm.min}}-{{limitChartsForm.max}})
验证
@Directive({
selector: '[min]',
providers: [
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => MinValidator), multi: true }
]
})
export class MinValidator implements Validator {
constructor( @Attribute('min') public params: string) {
}
validate(control: AbstractControl): { [key: string]: any } {
let value = parseInt(control.value);
let min: number = parseInt(this.params);
if (min == NaN)
return;
if (value == NaN || value < min)
return { min: false }
return null;
}
}