×

Chọn phần tử nhập bắt buộc phải có giá trị - :required - trong CSS

Trong quá trình phát triển web, việc đảm bảo rằng người dùng điền đầy đủ thông tin vào các biểu mẫu là điều rất quan trọng. Một trong những cách thực hiện điều này là sử dụng thuộc tính bắt buộc cho các phần tử nhập liệu. Nếu bạn đang tìm kiếm giải pháp để yêu cầu người dùng cung cấp giá trị cho một trường cụ thể trong biểu mẫu của mình, thì đây là một vài cách làm điều đó bằng HTML và CSS.

Sử dụng thuộc tính "required" trong HTML

HTML cung cấp thuộc tính required rất hữu ích để đánh dấu các trường mà người dùng bắt buộc phải điền thông tin. Bạn chỉ cần thêm thuộc tính này vào phần tử nhập liệu mà bạn muốn bắt buộc. Ví dụ:

<form>
    <label for="username">Tên người dùng:</label>
    <input type="text" id="username" name="username" required>
    
    <label for="email">Email:</label>
    <input type="email" id="email" name="email" required>

    <input type="submit" value="Gửi">
</form>

Với thuộc tính required, nếu người dùng cố gắng gửi biểu mẫu khi các trường này vẫn còn trống, trình duyệt sẽ hiển thị thông báo yêu cầu họ phải điền thông tin.

Tùy chỉnh giao diện trường required với CSS

Trong CSS, bạn có thể sử dụng các bộ chọn giả :required:optional để tùy chỉnh giao diện của các phần tử nhập liệu dựa trên thuộc tính required. Điều này giúp cải thiện trải nghiệm người dùng bằng cách mọi người biết rõ hơn những trường nào họ cần điền.

Dưới đây là một ví dụ CSS về cách thay đổi giao diện các trường required:

input:required {
    border: 2px solid red;
}

input:optional {
    border: 2px solid green;
}

Với mã CSS trên, các phần tử nhập liệu được đánh dấu là required sẽ có đường viền màu đỏ, trong khi các phần tử khác sẽ có đường viền màu xanh lá cây.

Ví dụ tổng hợp

Dưới đây là một ví dụ tổng hợp sử dụng cả HTML và CSS để minh họa việc yêu cầu người dùng điền thông tin vào các trường bắt buộc và tùy chỉnh giao diện của chúng:

<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        input:required {
            border: 2px solid red;
            background-color: #fee;
        }

        input:optional {
            border: 2px solid green;
            background-color: #efe;
        }

        input[type="submit"] {
            border: none;
            padding: 10px 20px;
            background-color: #5cb85c;
            color: white;
            cursor: pointer;
        }
    </style>
    <title>Biểu mẫu</title>
</head>
<body>
    <form>
        <label for="username">Tên người dùng:</label>
        <input type="text" id="username" name="username" required>
        
        <br><br>
        
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required>

        <br><br>

        <label for="age">Tuổi:</label>
        <input type="number" id="age" name="age">

        <br><br>

        <input type="submit" value="Gửi">
    </form>
</body>
</html>

Trong ví dụ trên, các trường Tên người dùngEmail là bắt buộc và được đánh dấu đỏ để người dùng dễ nhận biết. Trường Tuổi là tùy chọn và sẽ có khung màu xanh lá cây nếu người dùng muốn điền.

Kết luận

Việc bắt buộc người dùng điền thông tin vào các trường cụ thể trong biểu mẫu không chỉ giúp bạn thu thập đầy đủ dữ liệu mà còn nâng cao trải nghiệm người dùng. Sử dụng thuộc tính required trong HTML kết hợp cùng bộ chọn :required:optional trong CSS cho phép bạn dễ dàng quản lý và cải thiện giao diện của biểu mẫu, đảm bảo rằng người dùng không bỏ sót bất kỳ thông tin quan trọng nào.

Comments