【发布时间】:2017-04-14 15:44:20
【问题描述】:
我正在尝试在特定字段上创建有条件的必需验证。我尝试通过在我的函数中返回 Validators.required 来执行此操作,但这似乎不起作用。我该怎么做呢?这是我的代码:
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);
}
});
};
};
非常感谢任何帮助。
【问题讨论】:
-
你解决了吗?我已经添加了一个答案,并且很好奇您是否以相同的方式(甚至以更好的方式)解决了它
-
我用一个可重用的自定义验证器解决了一个类似的问题,如下所示:Conditional Required
-
啊,这看起来很天才!我会测试你的解决方案!
标签: validation angular angular2-forms formbuilder