Các lớp giả lập :user- valid và :user-invalid

:user-valid

Hỗ trợ trình duyệt

  • 119
  • 119
  • 88
  • 16,5

Nguồn

:user-invalid

Hỗ trợ trình duyệt

  • 119
  • 119
  • 88
  • 16,5

Nguồn

Dữ liệu do người dùng nhập là một trong những mối quan tâm nhạy cảm nhất trong mọi giao diện người dùng. Một ứng dụng hữu dụng phải giúp người dùng xem, hiểu và sửa mọi lỗi trong thông tin họ nhập. Bộ chọn lớp giả :user-valid:user-invalid giúp cải thiện trải nghiệm người dùng về việc xác thực dữ liệu đầu vào bằng cách chỉ đưa ra ý kiến phản hồi về lỗi sau khi người dùng thay đổi dữ liệu đầu vào. Với các bộ chọn mới này, người dùng không cần phải viết mã có trạng thái để theo dõi dữ liệu đầu vào mà người dùng đã thay đổi.

Bộ chọn lớp giả tương tác với người dùng

Bộ chọn lớp giả :user-valid:user-invalid tương tự như các lớp giả :valid:invalid hiện có. Cả hai đều khớp với một chế độ kiểm soát biểu mẫu dựa trên việc giá trị hiện tại của biểu mẫu đó có đáp ứng các quy tắc ràng buộc xác thực hay không. Tuy nhiên, ưu điểm của các lớp giả :user-valid:user-invalid mới là chúng chỉ khớp với một tuỳ chọn kiểm soát biểu mẫu sau khi người dùng đã tương tác đáng kể với đầu vào.

Một thành phần điều khiển biểu mẫu bắt buộc và để trống sẽ khớp với :invalid ngay cả khi người dùng chưa bắt đầu tương tác với trang. Tuy nhiên, thành phần kiểm soát biểu mẫu tương tự đó sẽ không khớp với :user-invalid cho đến khi người dùng thay đổi đầu vào và để trạng thái đó ở trạng thái không hợp lệ.

Sử dụng lớp giả :user-valid:user-invalid

Sử dụng các lớp giả này để tạo kiểu cho các chế độ điều khiển nhập, chọn và vùng văn bản, như trong các ví dụ sau:

input:user-valid,
select:user-valid,
textarea:user-valid {
  border-color: green;
}

input:user-invalid,
select:user-invalid,
textarea:user-invalid {
  border-color: red;
}
<input required="required" />

<select required="required">
  <option value="">Choose an option</option>
  <option value="1">One</option>
</select>

<textarea required="required"></textarea>

Hình ảnh kết hợp 3 ảnh chụp màn hình cạnh nhau để so sánh. Mỗi ảnh chụp màn hình cho thấy một biểu mẫu web có cùng các tuỳ chọn điều khiển nhập, chọn và vùng văn bản. Ảnh chụp màn hình đầu tiên cho thấy biểu mẫu ở trạng thái ban đầu trước khi người dùng nhập bất kỳ dữ liệu nào. Đường viền điều khiển có màu xám và văn bản trợ giúp bên dưới giải thích rằng mỗi thành phần điều khiển hiện sẽ khớp với bộ chọn lớp giả :không hợp lệ. Ảnh chụp màn hình thứ hai cho thấy chính biểu mẫu đó sau khi người dùng cung cấp dữ liệu đầu vào cho từng chế độ điều khiển. Đường viền điều khiển có màu xanh lục và văn bản trợ giúp bên dưới giải thích rằng mỗi chế độ điều khiển hiện sẽ khớp với cả bộ chọn lớp giả :Valid và :user- valid. Ảnh chụp màn hình thứ ba và cuối cùng cho thấy cùng một biểu mẫu sau khi người dùng xoá tất cả thông tin mà họ nhập. Đường viền điều khiển có màu đỏ và văn bản trợ giúp bên dưới giải thích rằng mỗi chế độ điều khiển hiện sẽ khớp với cả bộ chọn lớp giả :không hợp lệ và :user-không hợp lệ.

Các bộ chọn này khớp với nhau dựa trên sự kết hợp giữa tương tác của người dùng và các quy tắc ràng buộc xác thực. Tương tác với bản minh hoạ sau đây để xem cách hoạt động:

Trải nghiệm người dùng tốt hơn với ít mã hơn

Nếu không có các lớp giả này, thì để đạt được trải nghiệm người dùng do :user-valid:user-invalid kích hoạt, bạn cần phải viết thêm mã có trạng thái. Mã đó cần thiết để theo dõi giá trị ban đầu, trạng thái lấy nét hiện tại của dữ liệu đầu vào, mức độ thay đổi của người dùng đối với giá trị, chạy thêm bước kiểm tra tính hợp lệ và cuối cùng thêm một lớp để chọn định kiểu. Giờ đây, bạn có thể dựa vào trình duyệt để xử lý tất cả những việc này một cách tự động.

Tài nguyên khác

Ảnh bìa của Behzad Ghaffarian trên Unsplash.