Angular2:具有两个参数的自定义验证器

时间:2017-09-18 09:25:24

标签: angular angular2-forms

我尝试为我的表单自定义验证器。 Validator有两个参数:第一个参数是point之前的数字,第二个是point之后的数字。我使用这些参数来制作正则表达式:

new RegExp('^[0-9]{0,' + a + '}([,][0-9]{0,' + b + '})?$')

https://plnkr.co/edit/v4sWLGRHFijvQH6DfRPa?p=preview

但是表单仍然无法正常工作,在输入输入时,如果我不遵循正则表达式,则消息不会显示。我不知道如何使用两个参数来使用指令验证模板驱动的表单。

请帮助

1 个答案:

答案 0 :(得分:1)

您的custom-input.component中有@Input而非@Input(),因此只需添加()即可正常使用。所以它是:

//Placeholders for the callbacks which are later provided //by the Control Value Accessor private onTouchedCallback: () => void = noop; private onChangeCallback: (_: any) => void = noop; @Input() inputPattern; //get accessor