2017-04-23 1 views
1

에 선언 후에는 setValue 방법, 또는 patchValue 방법과 FormControl 또는 FormGroup를 업데이트 할 수 있습니다업데이트 검사기 FormControl

this.input = new FormControl('', Validators.required) 
this.form = this.formBuilder.group({ 
    input = this.input 
}) 

this.input.update('', Validators.maxlength(20)) 

답변

1

를 사용하는 경우 (들) 나중에 값과 유효성을 업데이트하려는 경우 updateValueAndValidity과 함께 실행할 수 있습니다.

this.myForm.controls.input.setValidators([Validators.required, 
              Validators.minLength(4)]); 

this.myForm.controls.input.updateValueAndValidity(); 

Demo

을 그리고 당신은 필드 값, 당신이 할 수있는 상술 사용 patchValue를 업데이트 할 경우 : 다음은 간단한 예제이다.

+0

내가 제안한대로 setValidators를 사용했습니다. 감사합니다. –

+0

여러분, 반갑습니다. 기꺼이 도와 드리겠습니다! :) – Alex

0

같은 컨트롤을 업데이트 할 수있는 방법이있다. 귀하의 경우에는 setValue을 사용하는 것이 더 좋습니다.

양식을 일부 개체로 업데이트하려는 경우 해당 개체에 양식보다 많은 속성이 포함되어있는 경우 (즉, 양식에 일부 속성이 없음을 의미), patchValue를 사용하면 양식에 존재하며,이 경우 setValue를 사용하면 오류가 발생합니다. 이 같은 더 많은 질문에 대한 것이 가장 당신이 (내가 여기에 설명 할 수있는 것보다 더 많은 방법 세부 사항을 가지고) 문서를 새 검사기를 설정하려는 경우가 setValidators을 사용할 수 있습니다

https://angular.io/docs/ts/latest/api/forms/index/FormControl-class.html

관련 문제