touched and valid using reactive forms in Angular

Discussão em 'Angular' iniciado por Joseph, Fevereiro 6, 2025.

  1. Joseph

    Joseph Guest

    How can i use the touched and valid properties using reactive forms in angular 4. I've used in template driven forms and you can just put this <span class="text-muted" *ngIf="!fname.valid && fname.touched"> Please enter a valid first name</span> below the input field. I've also learned that reactive forms would be better since you have to write the logic in the component.ts. So i want it to implement in the reactive form and i'm stuck on how to use the touched and valid properties.


    html
    ​

    <form [formGroup]="form" (ngSubmit)="onSignIn(form)">
    <div class="form-group">
    <input type="text" class="form-control" id="email" placeholder="Enter email" formControlName="email">
    </div>
    <div class="form-group">
    <input type="password" class="form-control" id="password" placeholder="Password" formControlName="password">
    </div><button class="btn btn-primary btn-block" type="submit" [disabled]="!form.valid">Sign In</button>
    </form>


    ts
    ​

    ngOnInit() {
    this.form = this.formBuilder.group({
    email: [null, [Validators.required, Validators.email]],
    password: [null, Validators.required],
    });
    }

    onSignIn(form: FormGroup){
    const email = form.value.email;
    const password = form.value.password;
    this.authService.loginUser(email, password)
    .subscribe(
    data => {
    this.router.navigate(['/settings']);
    alert("Login Successful");
    console.log(data);
    },
    error => {
    alert("Invalid Email or Password");
    console.log(error);
    });
    }

    Continue reading...

Compartilhe esta Página