read the following https://angular.io/guide/forms#build-a-template-driven-form https://angular.io/guide/forms#track-control-states https://angular.io/guide/forms#show-and-hide-validation-error-messages