【发布时间】:2020-03-01 13:41:12
【问题描述】:
我有一个FormArray,输入很简单。我想通过验证器函数(自定义)FormArray 中的输入索引,因为我的验证器是基于此的。例如,我希望每个后续AbstractControl 的字母都比之前的多(这只是一个示例,传递索引是我真正需要实现的)。
我的意思是如果我能得到这样的东西
ngOnInit(): void {
this.items = this.items?.length ? this.items : this.getDefaults(this.size)
const inputs: FormArray = this.formGroup.get('inputs') as FormArray
for (let item of this.items) {
inputs.push(this.fb.control(
item.value,
this.validator(),
this.asyncValidator(),
))
}
}
private validator(): ValidatorFn {
return (abstractControl: AbstractControl/*, indexInArray */) => {
// const lenOfPrev = this.items[indexInArray - 1].value.length
if (abstractControl.value.length <= 0 /* lenOfPrev */) {
return {
notLargeEnough: 'should be bigger'
}
}
return null
}
}
【问题讨论】:
-
你能发布你当前的代码
-
@KurtHamilton 给你。评论部分是我想要工作的部分
标签: angular angular-reactive-forms