Bắt lỗi để trống 1 ô inpuut html năm 2024
Cuộc đời của một ông Dev chắc hẳn ai cũng đã, đang và sẽ phải trải qua ít nhất 1 lần phải làm tới form nhập dữ liệu hay còn gọi Input nói chung. Dưới đây sẽ là một số ví dụ về HTML thực chiến đảm bảo mọi người không để lọt bugs về validation. Show
INPUT ATTRIBUTESHTML cung cấp cho mình một số thuộc tính mình có thể dùng để xác định validation form. Ok tới luôn nhé các bé.
INPUT TYPESử dụng đúng input type có thể giúp xác nhận loại dữ liệu không chính xác. Dưới đây là input type bạn có thể cần để xác thực biểu mẫu của mình. 1. Email: Sử dụng type "Email" để xác thực dữ liệu dạng email để đảm bảo dữ liệu ở đúng định dạng trước khi biểu mẫu được gửi. Để check validate của email thì ta có thể thêm pattern để đảm bảo đầu ra đúng định dạng email. Ví dụ: pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" 2. Password: Cái này thì không phải giới thiệu nhiều. nhưng không thể không nhắc tới vì đây là input type ẩn mật khẩu dưới dạng dấu chấm. Tùy vào yêu cầu và độ phức tạo cho mật khẩu mà ta sử dụng pattern cho phù hợp để check điều kiện lỗi.
3. Tel: Về cơ bản thì type "Tel" giúp chúng ta xác định kiểu nhập số điện thoại. thông thường sẽ hỗ trợ hiển thị bàn phím dạng number giúp giới hạn được trường hợp người dùng nhập ký tự chữ. Theo quan điểm cá nhân thì mình sẽ không check Số điện thoại theo dạng độ dài của số điện thoại. Đơn giản mình cho nó về 1 kiểu pattern format nhất định là ok. Dưới đây là pattern cho "Tel" mình thường sử dụng.
4. Number: Cái này đơn giản là bạn kiểm tra giá trị đầu vào chỉ là số và có thể check được giá trị trong khoảng mình mong muốn.
Ví dụ trên cho thấy giá trị yêu cầu nằm trong khoảng từ 2 tới 8 và không bắt buộc. Tổng kết về Input type thì dưới đây là một số ví dụ thường sử dụng khá tốt để check validation.
Tổng kếtViệc xác thực dữ liệu đầu vào thường sẽ do phía Server thực hiện, bởi vì để đảm bảo được rằng người dùng không thể giả mạo được dữ liệu. Ngoài ra, một số trường hợp bạn có thể kiểm tra ở phía người dùng theo các cách ở trên mình có nói. bạn có thể thêm thuộc tính Nội dung Thuộc tính valueThuộc tính value chỉ định một giá trị khởi tạo cho phần tử input: Ví dụ
Kết quảThuộc tính readonlyThuộc tính readonly chỉ đinh phần tử input chỉ có thể đọc (không thể thay đổi dữ liệu trên phần tử đó): Ví dụ
Kết quảThuộc tính readonly không cần khởi gán giá trị. Sẽ giống nhau nếu viết readonly=”readonly”. Thuộc tính disabledThuộc tính disabled chỉ định trường input sẽ bị ẩn. Phần tử disabled sẽ không được sử dụng và không kích được trên nó. Các phần tử disabled sẽ không được gửi đi (submit). Ví dụ
Kết quảThuộc tính disabled cũng không cần khởi gán giá trị. Sẽ giống nhau nếu viết disabled=”disabled”. Thuộc tính sizeThuộc tính size chỉ định kích thước của trường input (số ký tự): Ví dụ
Kết quảThuộc tính maxlengthThuộc tính maxlength chỉ định độ dài tối đa cho phép của trường input: Ví dụ
Kết quảVới thuộc tính maxlength, control input sẽ không chấp nhận nhiều hơn số ký tự được cho phép. Thuộc tính này không cung cấp bất kỳ phản hồi nào khi nhập quá số ký tự cho phép. Nếu bạn muốn thông báo nhận thông báo, bạn phải viết code JavaScript. Dùng các thuộc tính của thẻ input để giới hạn việc nhập dữ liệu là không đơn giản. JavaScript cung cấp nhiều cách để thêm vào dữ liệu không hợp lệ cho thẻ input. Để hạn chế đầu vào một cách an toàn, cũng cần phải kiểm tra dữ liệu tại nơi nhận (phía server).Các thuộc tính HTML5HTML5 thêm các thuộc tính sau cho thẻ :
và các thuộc tính cho thẻ Ví dụ
Kết quảThuộc tính autofocusThuộc tính autofocus là một thuốc tính boolean. Khi xuất hiện nó chỉ định rằng một phần tử nhận focus khi trang được load. Ví dụTrường “First name” sẽ tự động nhận con trỏ nhấp nháy khi trang được load:
Kết quảThuộc tính formThuộc tính form form để chỉ định một hay nhiều form mà chứa phần tử này. Mách nhỏ: Để ám chỉ nhiều hơn một form, sử dụng khoảng trắng để phân tách danh sách các id của form. Ví dụTrường Last name được đặt bên ngoài form HTML (nhưng vẫn là một phần của form):
Kết quảLast name: Thuộc tính formactionThuộc tính formaction chỉ định tới đường dẫn của một file mà sẽ xử lý dữ liệu của các control input khi form được submit. Thuộc tính formaction viết chồng với thuộc tính action của phần tử Ví dụMột form HTML với hai nút submit, thực hiện hai hành động khác nhau:
Kết quảThuộc tính formenctypeThuộc tính formenctype xác định cách dữ liệu form nên được mã hoá khi gửi dữ liệu tới server (chỉ cho form với method=”post”). Thuộc tính formenctype viết chồng với thuộc tính enctype của thẻ Ví dụGửi dữ liệu của form với mã hoá mặc định (cho nút submit thứ nhất) và mã hoá kiểu “multipart/form-data” (cho nút submit thứ hai):
0 Kết quảThuộc tính formmethodThuộc tính formmethod định nghĩa phương thức HTTP cho gửi dữ liệu của form tới một URL thực hiện nó (đường dẫn file chứa code server). Thuộc tính formmethod viết chồng thuộc tính method của phần tử Ví dụNút submit thứ hai viết chồng method HTTP của form:
1 Kết quảThuộc tính formnovalidateThuộc tính novalidate là một thuộc tính kiểu boolean. Khi xuất hiện trong phần tử thì phần tử đó sẽ không bị kiểm tra tính hợp lệ khi gửi dữ liệu. Thuộc tính formnovalidate viết chồng thuộc tính novalidate của phần tử Ví dụMột form với hai nút submit (với việc có và không có kiểm tra dữ liệu hợp lệ):
2 Kết quảThuộc tính formtargetThuộc tính formtarget chỉ định một tên hoặc một từ khoá mà cho biết nơi để hiển thị kết quả khi nhận được sau khi submit form. Thuộc tính formtarget viết đề thuộc tính target của phần tử Ví dụ
3 Kết quảThuộc tính height và widthThuộc tính height và width chỉ định chiều rộng và cao của phần tử . Thuộc tính height và width chỉ được sử dụng với . Luôn luôn chỉ định kích thước của ảnh. Nếu trình duyệt không biết kích thước, trang nhấp nháy khi loạt các ảnh.Ví dụ
4 Kết quảThuộc tính listThuộc tính list tham chiếu đến phần tử Ví dụPhần tử với các giá trị định nghĩa trước trong một 5 Kết quảThuộc tính min và maxThuộc tính min và max xác định giá trị nhỏ nhất và lớn nhất cho một phần tử . Các thuộc tính min và max làm việc với các kiểu thẻ sau: number, range, date, datetime, datetime-local, month, time and week. Ví dụCác phần tử với các giá trị min và max, xem lại bài 27:
6 Kết quảEnter a date before 1980-01-01: Enter a date after 2000-01-01: Quantity (between 1 and 5): Thuộc tính multipleThuộc tính multiple là một thuộc tính kiểu boolean. Khi xuất hiện, phần tử sẽ cho người sử dụng nhập hơn một giá trị trong phần tử. Thuộc tính multiple làm việc với các kiểu input sau: email và file. Ví dụMột trường upload file chấp nhận nhiều giá trị:
7 Kết quảSelect images: Thuộc tính patternThuộc tính pattern chỉ định một biểu thức chính quy (regular expression) mà giá trị của phần tử sẽ được kiểm tra lại. Thuộc tính pattern làm việc với các loại thẻ sau: text, search, url, tel, email, và password. Mách nhỏ: Sử dụng thuộc tính title để trợ giúp thông tin pattern cho người sử dụng. Ví dụMột trường input có thể chỉ chứa 3 ký tự (không phải kiểu số hoặc các ký tự đặc biệt):
8 Kết quảCountry code: Thuộc tính placeholderThuộc tính placeholder xác định một gợi ý mà miêu tả giá trị mong đợi cho trường input (một giá trị ví dụ hoặc một mô tả ngắn của định dạng). Gợi ý này được hiển thị trong trường input trước khi người sử dụng nhập giá trị vào đó. Thuộc tính placeholder làm việc với các thẻ kiểu: text, search, url, tel, email, and password. Ví dụMột trường input với mô tả ngắn trong placeholder:
9 Kết quảThuộc tính requiredThuộc tính required là một thuộc tính kiểu boolean. Khi xuất hiện nó xác định rằng trường input không được để trống trước khi submit form. Thuộc tính required làm việc với thẻ kiểu: text, search, url, tel, email, password, date pickers, number, checkbox, radio, và file. |