我正在尝试使用RxwebValidators包来实现条件必需的验证器。嵌套FormGroup并将这些嵌套的FormGroups作为@Inputs传递到子组件时,会发生问题。条件验证有效,但是只有在我使FormControl变脏之后才起作用,这意味着我在输入中输入了某些内容然后将其删除。只有这样,所需的FormControl才变为必需且无效,这不是我期望的行为。用户在firstName控件中输入“ John”后,应立即将其变为必需。我是否还缺少其他应做的事情或做错了什么?还是只是它如何工作?
这里有个问题。 https://stackblitz.com/edit/rxweb-conditional-required-validator-angular-reactive-fo-xjvfx6
感谢帮助!
答案 0 :(得分:0)
这似乎是一个配置问题,因为我创建了一个新的角度项目并且它可以正常工作(即,在firstName更改时,它会更新lname的值和有效性)。
return this.fb.group({
firstName: [null, [RxwebValidators.required()]],
lastName: this.fb.group({
lname: [null, [
RxwebValidators.required({
conditionalExpression: (x, y) => {
console.log('change', x);
return y.firstName === 'Brian';
}
})]]
})
});