在反应式自定义验证器中传递一个动态参数



我想在像这样的自定义验证器中传递一个变量作为参数

newSimulation: new FormControl('', [uniqNameValidator(this.options)])

然后在我的自定义验证器中使用它

export function uniqNameValidator(list: any): ValidatorFn {
return (control: AbstractControl): ValidationErrors | null => {
const simulationFlatList = list.map(val => val.closingPeriodSimulationName)
return simulationFlatList.indexOf(control.value) > -1 ? { message: "simulation exists" } : null;
}
}

问题是this.options总是空的。我将其初始化为[],但当用户与表单(第一个字段(交互时,我将其更新为字符串数组,我认为自定义验证器不会重新检查this.options的值?在这种情况下,如何在自定义验证器中传递变量?

这可能会起作用,将函数绑定到组件newSimulation: new FormControl('', [uniqNameValidator.bind(this)]),然后在函数中可以访问this.options

相关内容

  • 没有找到相关文章

最新更新