IT이야기

각도 2 입력 유효성 검사를 수동으로 트리거하는 방법

cyworld 2022. 3. 16. 22:06
반응형

각도 2 입력 유효성 검사를 수동으로 트리거하는 방법

두 가지 입력이 있는데,

  • 사용자 정의 검증자를 적용할 첫 번째 항목
  • 사용자 정의 검증자에서 사용하는 두 번째 값(동적 및 편집 가능)

첫 번째 입력에 사용자 정의 검증기를 적용한 다음 두 번째 입력에 초점을 맞추고 값을 변경하면 첫 번째 입력의 재검증을 강제 적용...

지금은 값을 변경할 때만 첫 번째 입력을 다시 검증한다...좋은 의견이라도 있나?

첫 번째 입력에 초점을 맞추는 순간 해당 입력의 참조에 액세스할 수 있다.

<input
    name="mEnd"
    class="form-control"
    [(ngModel)]="endDate"
       ...
    #endDateInput="ngModel"
    (focus)="clog(endDateInput)"
>

입력 양식제어 참조 방법을 사용하여 재검증을 트리거할 수 있는지 궁금함

formControl의 유효성을 업데이트할 수 있음

form.controls['myControl'].updateValueAndValidity();

템플릿 기반 폼이 있는 경우 다음 폼에서 ViewChild decorator:

@ViewChild('myForm') public form: NgForm;

그런 다음 위에서 언급한 방법을 사용하여 하나의 필드 또는 전체 양식 그룹의 유효성을 확인하십시오.

this.form.controls.myControl.updateValueAndValidity();

나는 이것이 훨씬 더 낫다는 것을 알았다.

this.myForm.markAllAsTouched();

12번 각도랑 다른 답은 나한테 효과가 없었어.그래서 나는 양식에 숨겨진 버튼을 추가했다.

 <button type="submit" [style.visibility]="'hidden'" #submitBtn>Submit</button>

컨트롤러 ViewChild 이 버튼.

  @ViewChild('submitBtn') private buttonSubmit:ElementRef;

그리고 내가 원하는 이벤트를 클릭하도록 강요한다.

  submitFormByKey(){
    this.buttonSubmit.nativeElement.click();
  }

이것은 제출을 촉발하고 모든 것을 검증할 것이다.

참조URL: https://stackoverflow.com/questions/44759005/how-to-trigger-angular-2-input-validation-manually

반응형