10/10/2018, 10:45

chống lỗi chữ quá dài gây tràn form hiển thị

Trong form post bài, khi người dùng cố tình spam nội dung bằng một chuỗi ký tự(có độ dài vài nghìn ký tự, không có dấu cách), thì khi show form đó ra tại <div>nội dung</div> sẽ làm các chữ bị tràn ra khỏi div. Các bạn cho mình cách giải quyết với.
dokhacluan viết 12:57 ngày 10/10/2018
tớ chưa từng giải quyết vấn đề này nhưng sao cậu không thử cách dùng php để giới hạn số kí tự nhập liệu vào form

giới hạn nó là 1 con số nào đó , nếu lớn hơn con số đó thì không cho gửi form
dangky91 viết 12:47 ngày 10/10/2018
Ý tưởng này hay nhỉ, thank bạn dokhacluan nha
ngoc_viet08 viết 12:48 ngày 10/10/2018
nếu khách mún bình luận nhiều thì cũng loại người ta à ?

thử cách này xem : khi user gửi bình luận , set trạng thái nó là " đang chờ xử lý " , rồi mình vào admin xem nó không vấn đề thì cho phép nó hiển thị .
chesterben viết 12:58 ngày 10/10/2018
1. Ở CSS phải fix giá trị width và thêm thuộc tính overflow: hidden;
2. Ở HTML, form phải có giá trị maxlength
3. Nếu cần thì thêm JS kiểm tra trước khi submit.
4. Trong NNLT nên dùng regex để lọc lại lần cuối.
trunghieuhf viết 13:00 ngày 10/10/2018
+ cách kiểm tra tính hợp lệ trước khi cho phép xâu thì không nói đến.
+ mình nghĩ đến 1 cách là bóc tách text thành các từ bởi dấu cách, từ nào có số lượng ký tự vượt quá giới hạn thì không cho insert database, nhưng có vẻ nó tồn nhiều time xử lý, không ổn lắm.
+ dùng maxlength thì là giới hạn toàn bộ ký tự nhập vào, còn maxlength 1 từ thì sao được.
+ Các bạn có cách khác mà chỉ dùng đến kỹ thuật css hoặc html thôi không.
Hoặc cách: ký tự trong khung thì cho hiện, còn ký tự nào tràn ra khỏi khung thì ẩn đi.
+ ví dụ như trong ddth.com, khi mình nhập vào form 1000 ký tự "a" liên tiếp (không có dấu cách) thì khi show ra cũng không bị tràn ra ngoài, mà nó tự động ngắt ký tự chuyển xuống dòng dưới, vậy phải làm thế nào ?
chesterben viết 12:58 ngày 10/10/2018
Được gửi bởi trunghieuhf
+ dùng maxlength thì là giới hạn toàn bộ ký tự nhập vào, còn maxlength 1 từ thì sao được.
Bạn nói vầy là ko đúng nhé
http://www.quackit.com/html_5/tags/html_input_tag.cfm

Nếu chỉ dùng CSS/HTML thì mình đã nói ở trên. Nếu muốn tự scroll thì bạn thay chỗ 'hidden' bằng 'scroll'.
trunghieuhf viết 13:02 ngày 10/10/2018
Được gửi bởi chesterben
Bạn nói vầy là ko đúng nhé
http://www.quackit.com/html_5/tags/html_input_tag.cfm

Nếu chỉ dùng CSS/HTML thì mình đã nói ở trên. Nếu muốn tự scroll thì bạn thay chỗ 'hidden' bằng 'scroll'.
+ ví dụ với cụm từ nhập vào: Đây là ví dụ. Thì mình muốn nó kiểm tra maxlength của các từ (đây, là, ví, dụ) có độ dài lớn nhất là 3, ý là thế chứ không phải là kiểm tra độ dài của cả cụm từ xem có vượt quá max hay không, mới lại mình dùng textarea thì dùng maxlength sao được.
+ Cách overflow mình thấy cũng ổn. Nhưng liệu có cách nào để đưa những ký tự bị tràn ra xuống dòng tiếp theo, thay vì ẩn nó đi không vậy, xin cho đóng góp.
honnhienh viết 13:01 ngày 10/10/2018
chủ đề bạn làm mình khá quan tâm bạn làm thử cái này coi nếu được thì feeback để mình lấy kinh nghiệm .
http://www.webdesignerwall.com/tutor...-text-to-wrap/

Bạn lên đọc comment ở dưới.
trunghieuhf viết 12:48 ngày 10/10/2018
Hiện tại mình cũng chưa test, nhưng chắc là ổn rồi đấy, thanks bạn. Mà nếu không được thì vào google gõ từ khóa "Force text to wrap" chắc cũng ok.
Bài liên quan
0