Я пытаюсь сделать необязательные поля, которые требуются только для определенных значений в поле выбора.Я думал, что был близок, но значение не заполнялось во время проверки.
requiredForTypeValidator =
(values) =>
(control: any): {[key: string]: boolean} | null => {
const ticket_type = control.parent ? control.parent.value.type : '';
if (control.value !== undefined && ((control.value === null || control.value.length < 1) && values.indexOf(ticket_type) !== -1)) {
return {'required': true};
}
return null;
}
ngOnInit() {
this.createTicketForm = this.formBuilder.group({
type: [null, Validators.required],
optField: [null, this.requiredForTypeValidator(['validate_me','validate_me_too'])],
});
}
По запросу я воссоздал эту проблему на stackblitz: https://stackblitz.com/edit/angular-nt8hjw