Tengo un validador asíncrono personalizado y quiero configurar updateOn: 'blur'
usando FormBuilder
:
myForm = this.formBuilder.group({ email: ['', [Validators.required], [this.myAsyncValidator]] // ... });
Intenté esto pero no funciona:
email: ['', [Validators.required], [this.myAsyncValidator, {updateOn: 'blur'}]]
Nota
NO quiero crear instancias de control de formulario manualmente como la siguiente:
myForm = new FormGroup({ email: new FormControl('', {asyncValidators: [this.myAsyncValidator]}, updateOn: 'blur') });
hay dos maneras de lograr eso -
myForm = this.formBuilder.group({email: this.formBuilder.control('', {updateOn: 'blur', validators: [], asyncValidators: []})})
o,
myForm = this.formBuilder.group({email: ['', {updateOn: 'blur', validators:[], asyncValidators: []}]})
Quiero agregar más respuestas para esta pregunta.
Aquí está el código en la biblioteca:
Entonces, según su pregunta, parece que está tratando de configurar updateOn
para el control de formulario de correo formControl
y está configurando 3 argumentos. Esto no es correcto.
Cambio
myForm = this.formBuilder.group({ email: ['', [Validators.required], [this.myAsyncValidator]] // ... });
para
myForm = this.formBuilder.group({ email: ['', {validators: Validators.required, asyncValidators: this.myAsyncValidator, updateOn: 'blur'}] // ... });