FLUTTER FORM LÀ GÌ?

Form trong Flutter là một widget dùng để thu thập và kiểm tra dữ liệu người dùng nhập vào. Khi ứng dụng yêu cầu nhập nhiều trường (fields) và cần xác minh tính hợp lệ của các giá trị này, việc sử dụng Form kết hợp với TextFormField là giải pháp lý tưởng.

Sự khác nhau giữa Form + TextFormFieldTextField thông thường:

  • TextField là widget đơn lẻ cho phép người dùng nhập dữ liệu, nhưng không có cơ chế kiểm tra tính hợp lệ (validation).

  • TextFormField là một phần mở rộng của TextField. Nó có thể được sử dụng trong Form để kiểm tra tính hợp lệ và lưu trữ dữ liệu sau khi người dùng hoàn thành việc nhập liệu.

Lợi ích khi sử dụng Form + TextFormField:

  • Dễ dàng kiểm tra tính hợp lệ của tất cả các trường trong form với một lần gọi validate().

  • Cung cấp một cách tiếp cận cấu trúc để thu thập và xử lý dữ liệu nhập vào.

Cấu Trúc của FormTextFormField

TextFormField

TextFormField là widget quan trọng nhất trong Form. Nó cho phép người dùng nhập dữ liệu và thực hiện các kiểm tra tính hợp lệ thông qua validator.

  • validator: Là hàm dùng để kiểm tra tính hợp lệ của dữ liệu. Nếu không hợp lệ, trả về thông báo lỗi.

  • controller: Dùng để quản lý giá trị của trường nhập liệu.

Form

Form là widget dùng để bao bọc nhiều TextFormField. Việc sử dụng Form giúp quản lý nhiều trường nhập liệu cùng một lúc và dễ dàng xác thực toàn bộ form.

 

  • key: Là GlobalKey<FormState> để truy cập và quản lý trạng thái của form.

  • validate(): Phương thức được sử dụng để kiểm tra tính hợp lệ của tất cả các trường nhập liệu trong form.

Saving Values

Khi form hợp lệ và người dùng nhấn nút Submit, các giá trị trong TextFormField sẽ được lưu lại thông qua phương thức onSaved.

 

 


ỨNG DỤNG FORM TRONG PROJECT NOTE APP

Mục tiêu:

Các widget liên quan:

  • Form: Gom nhóm các ô nhập để kiểm tra và xử lý dễ hơn.

  • TextFormField: Ô nhập có thể kiểm tra dữ liệu bằng validator.

  • GlobalKey<FormState>: Quản lý trạng thái của Form (validate, reset…)

Trong Project :

  •  Form cần có một GlobalKey<FormState> để truy cập và điều khiển trạng thái form (ví dụ: validate, reset).
  • Mỗi TextFormField có thể có một hàm validator để tự động kiểm tra dữ liệu người dùng nhập.

Ban đầu khai báo:

Sau đó bọc toàn bộ phần nhập input trong:

Chi tiết phần validate trong TextFormField

Phần validate khi nhấn lưu

Kết quả :

 

 

About the Author

Tấn Phước

View all author's posts

Leave a Comment

Your email address will not be published. Required fields are marked *

Bài viết khác

Kanban

1. Kanban là gì? Kanban là một phương pháp quản lý công việc trực quan, giúp bạn theo dõi tiến độ từng nhiệm vụ. Kanban bắt nguồn từ Nhật Bản, ban đầu được Toyota dùng để quản lý dây chuyền sản xuất, nhưng ngày nay được áp dụng rộng rãi trong các lĩnh vực như […]

Scum

1. Scrum là gì? Scrum là một khung làm việc (framework) giúp các nhóm làm việc cùng nhau để phát triển sản phẩm một cách linh hoạt và hiệu quả. Nó thuộc phương pháp Agile – đề cao sự thích nghi, cộng tác và cải tiến liên tục trong quá trình làm việc. 2. Các […]

So sánh Realm, Hive, Sqflite, và Drift

So sánh Tiêu chí Realm Hive Sqflite Drift Mức độ phổ biến Tăng nhanh (Meta hỗ trợ) Rất phổ biến Rất phổ biến Trung bình (cộng đồng ổn định) Dễ sử dụng, dễ tích hợp Trung bình (cần setup Realm SDK) ★ Rất dễ (NoSQL, không cần SQL) Trung bình (phải viết SQL tay) Trung […]

Testing

I. Testing là gì? Testing (kiểm thử phần mềm) là quá trình đánh giá một hệ thống phần mềm để xác định xem sản phẩm có đáp ứng các yêu cầu được đặt ra hay không, và nhằm phát hiện lỗi nếu có. Testing là một phần quan trọng trong vòng đời phát triển phần […]

Application security

Ứng dụng bảo mật là gì? Application Security (Bảo mật ứng dụng) là quá trình bảo vệ ứng dụng khỏi các lỗ hổng và tấn công từ các mối đe dọa bên ngoài. Quá trình này bao gồm các biện pháp bảo vệ trong suốt vòng đời phát triển phần mềm (SDLC): từ thiết kế, […]

MVC/MVP

1. Giới thiệu chung Trong phát triển phần mềm, việc tổ chức mã theo mô hình kiến trúc rõ ràng là rất quan trọng để dễ dàng bảo trì, mở rộng và kiểm thử. Hai mô hình phổ biến trong phát triển ứng dụng là: MVC (Model – View – Controller) MVP (Model – View […]