[[oktatas:web:angular|< Angular]] ====== Angular - Űrlapok érvényessége ====== * **Szerző:** Sallai András * Copyright (c) 2022, Sallai András * Szerkesztve: 2022, 2024 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Validátorok ===== * https://angular.io/api/forms/Validators/ ===== Reaktív űrlap modul ===== //... imports: [ ReactiveFormsModule ]; ===== Űrlap =====
===== TypeScript ===== import { FormControl, FormGroup, Validators } from '@angular/forms'; //... export class AppComponent { loginForm = new FormGroup({ email: new FormControl('', Validators.required), password: new FormControl('') }) } ===== Böngészőben ===== Ha invalid, látszik a böngésző fejlesztői felületén, az Elements fülön. ^^^^^^^^^^ Ha érvényes: ng-valid ===== CSS ===== Az attribútum alapján lehet egy kis piros széle, CSS-sel: input.ng-invalid { border-left: 5px solid red; } input.ng-valid { border-left: 5px solid green; } ===== Érvényesség ===== export class LoginComponent implements OnInit { loginForm !: FormGroup; constructor() { } ngOnInit(): void { this.loginForm = new FormGroup({ email: new FormControl('', Validators.required), password: new FormControl(''), }) } } Ha több megkötést is alkalmazunk, akkor [ ] szögletes zárójelbe (tömbbe) kell tenni a megkötéseket! Kötelezőnek jelölés és email: email: new FormControl('', [Validators.required,Validators.email]) Minta használata: name: new FormControl('', Validators.pattern('[a-z]')) ==== FormBuilder verzió ==== export class LoginComponent implements OnInit { loginForm !: FormGroup; constructor(private formBuilder: FormBuilder) { } ngOnInit(): void { this.loginForm = this.formBuilder.group({ email: ['', [Validators.required, Validators.email]], password: ['', Validators.required] }) } } ===== Segítő szöveg ===== ==== Angular 12.x ==== ==== Angular 13.x ==== ===== Rövidítés ===== //... export class LoginComponent implements OnInit { loginForm !: FormGroup; constructor() { } ngOnInit(): void { this.loginForm = new FormGroup({ email: new FormControl('', Validators.required), password: new FormControl('') }) } get email(){return this.loginForm.controls['email']} } E-mail kötelező E-mail kötelező