Tôi đang cố gắng tạo xác nhận có điều kiện theo yêu cầu trên một trường cụ thể. Tôi thử làm điều này bằng cách trả về Validators.required trở lại chức năng của tôi, nhưng điều này dường như không hoạt động. Làm thế nào để tôi làm việc này? Đây là mã của tôi:Angular2: Xác nhận yêu cầu có điều kiện
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);
}
});
};
};
Bất kỳ trợ giúp nào được đánh giá cao.
Cậu giải quyết này? Tôi đã thêm một câu trả lời, và tò mò nếu bạn giải quyết nó theo cùng một cách (hoặc thậm chí theo cách tốt hơn) – Erex
Tôi đã giải quyết vấn đề tương tự với trình kiểm tra tùy chỉnh có thể tái sử dụng như được hiển thị ở đây: [Yêu cầu có điều kiện] (http: // stackoverflow. com/questions/38204812/angular2-forms-validator-với-interrelated-fields/40416197 # 40416197) –
ah, có vẻ thiên tài! Tôi sẽ kiểm tra giải pháp của bạn sau đó! – Erex