💻 TIN HỌC · LỚP 12

Biểu mẫu web: nhãn truy cập, xác thực dữ liệu và phản hồi lỗi

Thiết kế form HTML có label đúng, kiểu dữ liệu phù hợp, kiểm tra hai phía và thông báo lỗi giúp người dùng sửa được.

📖 Bài học⏱ 12 phút👁 0🔖 0
Đóng góp bởi Võ Trí Kỳ Nam · cập nhật 03/09/2026
Đăng nhập để học

🧾 Form tốt là một cuộc hội thoại rõ ràng

Mỗi trường phải cho biết cần nhập gì, định dạng nào và vì sao cần dữ liệu. Placeholder chỉ là gợi ý tạm thời, không thay thế <label> vì biến mất khi nhập và có thể khó đọc.

Luồng biểu mẫu từ label và hướng dẫn tới nhập liệu, kiểm tra phía trình duyệt và máy chủ, rồi trả lỗi gắn đúng trường hoặc xác nhận thành công
Xác thực phía máy khách cải thiện trải nghiệm; phía máy chủ mới là ranh giới tin cậy.

Cấu trúc tối thiểu

<label for="email">Email</label>
<input id="email" name="email" type="email" autocomplete="email" required>

for phải trỏ tới id; name là khóa gửi lên máy chủ. Chọn type đúng giúp bàn phím và kiểm tra cơ bản phù hợp, nhưng không chứng minh dữ liệu an toàn.

Ví dụ xử lí lỗi

Nếu email trống, đánh dấu trường bằng aria-invalid="true", liên kết mô tả lỗi qua aria-describedby, đặt thông báo cụ thể “Nhập địa chỉ email” và chuyển tiêu điểm hợp lí tới vùng lỗi. Không chỉ đổi viền thành màu đỏ.

An toàn và toàn vẹn

Máy chủ phải kiểm tra lại kiểu, độ dài, miền giá trị và quyền; mã hóa đầu ra theo ngữ cảnh; dùng CSRF protection cho thao tác thay đổi trạng thái. Xác thực không thay thế phân quyền, và lọc đầu vào không thay thế encode đầu ra.

✍️ Luyện tập

Thiết kế form đăng ký ba trường. Thử bỏ trống, nhập sai định dạng và gửi dữ liệu đã sửa HTML trên trình duyệt. Ghi lại phản hồi ở cả giao diện và máy chủ.

📚 Căn cứ biên soạn

  • Chương trình GDPT 2018 và mạch nội dung Kết nối tri thức với cuộc sống lớp 12.
  • Nội dung biên soạn độc lập, ưu tiên lập luận, điều kiện áp dụng và khả năng kiểm chứng.
NGUỒN HỌC LIỆU

Nội dung được biên soạn từ

TRAO ĐỔI · HỎI ĐÁP

Cùng nhau hiểu bài sâu hơn

Viết lời giải, công thức, đặt câu hỏi hoặc gửi ảnh phần bạn đang vướng.

Đăng nhập để đặt câu hỏi và tham gia trao đổi.

Chưa có trao đổi nào. Hãy là người đầu tiên đặt câu hỏi nhé.