[angular] Angular 템플릿 폼

Angular는 템플릿 폼을 사용하여 사용자 입력을 쉽게 수집하고 유효성을 검사할 수 있습니다. 템플릿 폼을 사용하면 사용자 입력을 처리하는 로직을 컴포넌트 클래스에 작성할 필요 없이 템플릿에 작성할 수 있습니다.

폼 모듈 추가

먼저, 폼을 사용하기 위해서는 Angular Forms 모듈을 애플리케이션 모듈에 추가해야 합니다. 애플리케이션 모듈에 FormsModule 또는 ReactiveFormsModule를 추가하여 템플릿 폼 또는 리액티브 폼 중 하나를 선택해야 합니다.

import { FormsModule } from '@angular/forms';

@NgModule({
  imports: [
    FormsModule
  ]
})
export class AppModule { }

템플릿 폼 구성

다음으로, Angular 템플릿 폼을 사용하여 HTML 템플릿에 <form> 요소를 추가합니다. 그리고 ngModel 디렉티브를 사용하여 입력 요소를 모델과 연결합니다.

<form #myForm="ngForm" (ngSubmit)="onSubmit(myForm)">
  <label for="name">이름</label>
  <input type="text" id="name" name="name" [(ngModel)]="user.name" required>

  <button type="submit">제출</button>
</form>

위의 예제에서 [(ngModel)]은 양방향 데이터 바인딩을 제공하며, required는 유효성 검사를 위한 필수 요소를 나타냅니다.

폼 데이터 처리

마지막으로, Angular 컴포넌트 클래스에서 폼 데이터를 처리합니다. onSubmit 메서드를 구현하여 사용자 입력을 처리하고 유효성을 검사합니다.

export class MyComponent {
  user: any = {}; // 사용자 입력 값을 저장하기 위한 객체
  
  onSubmit(form: NgForm) {
    if (form.valid) {
      // 유효한 데이터 처리
    } else {
      // 유효하지 않은 데이터 처리
    }
  }
}

위의 코드에서 NgForm은 Angular Forms 모듈에서 제공하는 폼 데이터 및 유효성 검사를 위한 유틸리티를 포함하는 인터페이스입니다.

Angular 템플릿 폼을 사용하여 사용자 입력을 처리하고 유효성을 검사하는 방법에 대해 알아보았습니다. 이를 통해 간편하게 사용자 입력을 다룰 수 있고, 빠르게 유효성을 검사할 수 있습니다.