我想创建一个条件需要验证的特定field.I尝试通过返回Validators.required回到我的函数,但这似乎并没有工作。我如何去做这件事?这是我的代码:Angular2:有条件需要验证
private _ansat: AbstractControl = new FormControl('', Validators.required);
private _helbred: AbstractControl = new FormControl('', Validators.compose([this.useValidateIfRadio(this._ansat, 0, Validators.required)]));
constructor(private _fb: FormBuilder) {
this.myForm = this._fb.group({
ansat: this._ansat,
helbred: this._helbred
});
}
useValidateIfRadio (c: AbstractControl, n: number, v) {
return function (control) {
return new Promise(resolve => {
// this.msg = ansatControl.value;
console.log(v);
if (c.value === n) {
resolve(v);
}
else {
resolve(null);
}
});
};
};
任何帮助,非常感谢。
你解决这个问题?我已经添加了一个答案,并且很好奇,如果你以相同的方式解决它(或者甚至以更好的方式) – Erex
我解决了类似的问题,如下所示的可重用自定义验证器:[条件必需](http:// stackoverflow。 com/questions/38204812/angular2-forms-validator-with-interrelated-fields/40416197#40416197) –
啊,那看起来天才!那么我会测试你的解决方案! – Erex