所以我试图将我的抽象控制值分开。导致其货币
但我仍然收到错误
这是代码
@Directive({
selector: '[NumberValidate][ngModel]',
providers: [
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => NumberValidator), multi: true }
]
})
export class NumberValidator implements Validator {
constructor( @Attribute('NumberValidate') public NumberValidate: string,
@Attribute('reverse') public reverse: string) {
}
validate(control: AbstractControl): { [key: string]: any; } {
const DATE_REGEX = /([\-\+]{0,1}\d[\d\.\,]*[\.\,][\d\.\,]*\d+)/;
if ((control.value && control.value <= 0) || (control.value != null && DATE_REGEX.test(control.value) && control.value.split('.')[1] != null && control.value.split('.')[1].length > 2)){
return { 'incorrectNumberFormat': true };
}
return null;
}
}
这是错误
error_handler.js:54 EXCEPTION:./RegisterForm类出错 RegisterForm - 内联模板:200:28由:control.value.split引起 不是一个功能
答案 0 :(得分:0)
我做了一个正则表达式来测试输入并且不再需要拆分了,我认为问题在于输入类型是数字而不是字符串... split只能用于字符串而不是一个数字。这就是我的想法