¿Hay alguna forma de actualizar el control después de que se declare, como
this.input = new FormControl('', Validators.required) this.form = this.formBuilder.group({ input = this.input }) this.input.update('', Validators.maxlength(20))Puede usar setValidators si desea configurar nuevos validadores en un momento posterior, probablemente también desee actualizar el valor y la validez, se puede ejecutar con updateValueAndValidity . Aquí hay un ejemplo simple:
this.myForm.get('input').setValidators([Validators.required, Validators.minLength(4)]); this.myForm.get('input').updateValueAndValidity(); Y si desea actualizar el valor del campo, puede, como se mencionó, usar patchValue .
Puede actualizar un FormControl o FormGroup con el método setValue o el método patchValue. En su caso, es mejor usar setValue .
Lo que hace patchValue es si desea actualizar su formulario con algún objeto, y ese objeto contiene más propiedades que el formulario (lo que significa que algunas propiedades no existen en el formulario), con patchValue solo obtendrá los valores que existen en el formulario , y en este caso, si usa setValue, habrá un error. Para más preguntas como esta, siempre es mejor si usa la documentación (que tiene muchos más detalles de los que puedo explicar aquí)
https://angular.io/docs/ts/latest/api/forms/index/FormControl-class.html