Forms

Vital to business applications Create an experience that guides the user e1fficiently and effectively through the workflow. Developers

Angular Forms Template Driven Forms

Reactive Forms

Template Driven Forms (TDF)

Track Control State and validity

<input type="text" required #name class="form-control" name="userName" [(ngModel)]="userModel.name">

해쉬(#)이름에 의해서 사용가능하다. 적용되는 class는

{{ name.className }}

로 확인 가능하다.

State Class if true Class if false
The control has been visited.ng-touchedng-untouched
The control's value has changed.ng-dirtyng-pristine
The control's value value is valid.ng-validng-invalid

ngModel properties

Class Property
ng-untouched untouched
ng-touched touched
ng-pristine pristine
ng-dirty dirty
ng-valid valid
ng-invalid invalid
    <div class="form-group">
      <label>Name</label>
      <input type="text" required #name="ngModel" class="form-control" name="userName" [(ngModel)]="userModel.name">
    </div>
    {{ name.className }}
    {{ name.touched }}

#name=“ngModel”에 의해서 ngModel property에 접근 할 수 있다.

class property적용

<input type="text" required #name="ngModel" [class.is-invalid]="name.invalid && name.touched" class="form-control" name="userName" [(ngModel)]="userModel.name">

[class.is-invalid]=“name.invalid”에 의해서 is-invalid를 적용한다.