Validating input ใน angular

การตรวจสอบข้อมูล (Validating input) ใน Angular สามารถทำได้สองวิธี คือ

  1. Template-driven forms
  2. Reactive forms

Template-driven forms

Template-driven forms เป็นวิธีการตรวจสอบข้อมูลที่ง่ายที่สุดใน Angular เราสามารถตรวจสอบข้อมูลโดยใช้ ngModel และ ngModelOptions

ตัวอย่างการตรวจสอบข้อมูลใน template-driven forms

1
2
3
4
<input type="text" ngModel name="name" required />
<input type="email" ngModel name="email" required />

<button type="submit">Submit</button>

ในตัวอย่างนี้ เราตรวจสอบว่าฟิลด์ name และ email ไม่ว่างโดยใช้ required

Reactive forms

Reactive forms เป็นวิธีการตรวจสอบข้อมูลที่ทรงพลังและยืดหยุ่นที่สุดใน Angular เราสามารถตรวจสอบข้อมูลโดยใช้ Validators

ตัวอย่างการตรวจสอบข้อมูลใน reactive forms

1
2
3
4
5
6
import { FormBuilder, FormGroup, Validators } from '@angular/forms';

const formGroup: FormGroup = new FormBuilder().group({
name: ['', Validators.required],
email: ['', Validators.required],
});

ในตัวอย่างนี้ เราใช้ฟังก์ชัน Validators.required() เพื่อตรวจสอบว่าฟิลด์ name และ email ไม่ว่าง

เราสามารถใช้ฟังก์ชัน Validators อื่นๆ เพื่อตรวจสอบข้อมูลในรูปแบบต่างๆ เช่น

  • Validators.minLength() เพื่อตรวจสอบความยาวขั้นต่ำของข้อมูล
  • Validators.maxLength() เพื่อตรวจสอบความยาวสูงสุดของข้อมูล
  • Validators.pattern() เพื่อตรวจสอบรูปแบบของข้อมูล
  • Validators.email() เพื่อตรวจสอบว่าข้อมูลเป็นอีเมลหรือไม่

สรุป

การตรวจสอบข้อมูลใน Angular เป็นขั้นตอนที่สำคัญในการพัฒนาเว็บแอปพลิเคชัน Angular มีสองวิธีในการตรวจสอบข้อมูล คือ template-driven forms และ reactive forms เราควรเลือกวิธีการตรวจสอบข้อมูลที่เหมาะสมกับความต้องการของแอปพลิเคชันของเรา