Tengo una forma reactiva como esta.
this.form = this.formBuilder.group({ ... email: [], receiveNewsletter: [], ... }) Quiero que todos los campos sean opcionales, excepto si el usuario receiveNewsletter , el campo de correo electrónico debe ser obligatorio. ¿Cómo puedo hacer eso?
Debe observar el valor de la casilla de verificación y agregar o eliminar el validador requerido según el valor de receiveNewsletter
this.form.controls.receiveNewsletter.valueChanges.subscribe(value => { if(value){ this.form.controls.email.addValidators(Validator.required); } else { this.form.controls.email.removeValidators(Validator.required); } this.form.controls.email.updateValueAndValidity(); //remember to add this to update the form control state })