Sử dụng thư viện validation javacript form
admin
2022-06-27T22:36:05-04:00
2022-06-27T22:36:05-04:00
http://dacloi.net/thu-thuat-chia-se-hay/su-dung-thu-vien-validation-javacript-form-97.html
http://dacloi.net/uploads/news/2022_06/validation.png
Sourcode teamplate free | Nukeviet HCMC | PSD file teamplate | Figma teamplate | Nukeviet
http://dacloi.net/uploads/vncode.png
Khi bạn ghé thăm một trang website nào đó, bạn có thể thường xuyên bắt gặp các form (biểu mẫu) ví dụ như form đăng kí, đăng nhập tài khoản, form lấy ý kiến khách hàng,.... Các thông tin mà người dùng nhập vào form cần phải được xác thực để đảm bảo sự hợp lý.
Các tính năng chính của form:
Form ví dụ:
Ở giao diện form cần xuất validation chúng ta thêm đoạn script
formGroupSelector: '.form-group' (class bọc input),
errorSelector: '.form-message' (class của khối báo lỗi),
rules: [] (Các ô input cần check điều kiện validate)
Không cho phép để trống chúng ta dùng: isRequired
Không đúng chuẩn email: isEmail
Độ dài kí tự bắt buộc: minLength
Check dữ liệu nhập lại có trùng khớp: isConfirmed
Ví dụ: chúng ta không cho phép người dùng để trống ô input full name
+ Check mật khẩu không được để trống
+ Check độ dài kí tự
+ Check mật khẩu nhập lại
Mong bài viết giúp ích được các bạn phần nào trong thiết kế Website. Hãy nhấn nút like và share để mọi người cùng học hỏi kiến thức mới nhé. Cảm ơn các bạn đã quan tâm VNCODE.
- Kiểm tra đảm bảo dữ liệu nhập vào không được để trống
- Kiểm tra định dạng email
- Yêu cầu khi đặt mật khẩu (độ dài),...
Hướng dẫn sử dụng validation cho form trên website
Tải thư viện validation: https://github.com/hades-1997/F8-js-validateForm ví dụ:
<!DOCTYPE html>
<html>
<head>
<title>HTML DOM</title>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="main">
<form action="" method="POST" class="form" id="form-1">
<h3 class="heading">Thành viên đăng ký</h3>
<p class="desc">Cùng nhau học lập trình miễn phí tại VNCODE ❤️</p>
<div class="spacer"></div>
<div class="form-group">
<label for="fullname" class="form-label">Tên đầy đủ</label>
<input id="fullname" name="fullname" type="text" placeholder="VD: Đắc Lợi" class="form-control">
<span class="form-message"></span>
</div>
<div class="form-group">
<label for="email" class="form-label">Email</label>
<input id="email" name="email" type="text" placeholder="VD: [email protected]" class="form-control">
<span class="form-message"></span>
</div>
<div class="form-group">
<label for="password" class="form-label">Mật khẩu</label>
<input id="password" name="password" type="password" placeholder="Nhập mật khẩu" class="form-control">
<span class="form-message"></span>
</div>
<div class="form-group">
<label for="password_confirmation" class="form-label">Nhập lại mật khẩu</label>
<input id="password_confirmation" name="password_confirmation" placeholder="Nhập lại mật khẩu" type="password" class="form-control">
<span class="form-message"></span>
</div>
<!-- <div class="form-group">
<label for="gender" class="form-label">Giới tính</label>
<input name="gender" type="radio" value="Nam" class="form-control">
<input name="gender" type="radio" value="Nữ" class="form-control">
<span class="form-message"></span>
</div> -->
<button class="form-submit">Đăng ký</button>
</form>
</div>
<script src="./validator.js"></script>
<script >
Validator({
form: '#form-1',
formGroupSelector: '.form-group',
errorSelector: '.form-message',
rules: [
Validator.isRequired('#fullname'),
Validator.isRequired('#email'),
Validator.isEmail('#email'),
Validator.minLength('#password',6),
Validator.isRequired('#password_confirmation'),
Validator.isConfirmed('#password_confirmation', function(){
return document.querySelector('#form-1 #password').value;
}, 'Mật khẩu nhập lại không trùng khớp')
],
// onsubmit: function(data){
// }
});
</script>
</body>
</html>
Thêm 1 chút css
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
html {
color: #333;
font-size: 62.5%;
font-family: "Open Sans", sans-serif;
}
.main {
background: #f1f1f1;
min-height: 100vh;
display: flex;
justify-content: center;
}
.form {
width: 360px;
min-height: 100px;
padding: 32px 24px;
text-align: center;
background: #fff;
border-radius: 2px;
margin: 24px;
align-self: center;
box-shadow: 0 2px 5px 0 rgba(51, 62, 73, 0.1);
}
.form .heading {
font-size: 2rem;
}
.form .desc {
text-align: center;
color: #636d77;
font-size: 1.6rem;
font-weight: lighter;
line-height: 2.4rem;
margin-top: 16px;
font-weight: 300;
}
.form-group {
display: flex;
margin-bottom: 16px;
flex-direction: column;
}
.form-label,
.form-message {
text-align: left;
}
.form-label {
font-weight: 700;
padding-bottom: 6px;
line-height: 1.8rem;
font-size: 1.4rem;
}
.form-control {
height: 40px;
padding: 8px 12px;
border: 1px solid #b3b3b3;
border-radius: 3px;
outline: none;
font-size: 1.4rem;
}
.form-control:hover {
border-color: #1dbfaf;
}
.form-group.invalid .form-control {
border-color: #f33a58;
}
.form-group.invalid .form-message {
color: #f33a58;
}
.form-message {
font-size: 1.2rem;
line-height: 1.6rem;
padding: 4px 0 0;
}
.form-submit {
outline: none;
background-color: #1dbfaf;
margin-top: 12px;
padding: 12px 16px;
font-weight: 600;
color: #fff;
border: none;
width: 100%;
font-size: 14px;
border-radius: 8px;
cursor: pointer;
}
.form-submit:hover {
background-color: #1ac7b6;
}
.spacer {
margin-top: 36px;
}
copy file: validator.jsỞ giao diện form cần xuất validation chúng ta thêm đoạn script
Validator({
form: '#form-1',
formGroupSelector: '.form-group',
errorSelector: '.form-message',
rules: [
Validator.isRequired('#fullname'),
Validator.isRequired('#email'),
Validator.isEmail('#email'),
Validator.minLength('#password',6),
Validator.isRequired('#password_confirmation'),
Validator.isConfirmed('#password_confirmation', function(){
return document.querySelector('#form-1 #password').value;
}, 'Mật khẩu nhập lại không trùng khớp')
],
});
form: '' (Nhập id của form),formGroupSelector: '.form-group' (class bọc input),
errorSelector: '.form-message' (class của khối báo lỗi),
rules: [] (Các ô input cần check điều kiện validate)
Không cho phép để trống chúng ta dùng: isRequired
Không đúng chuẩn email: isEmail
Độ dài kí tự bắt buộc: minLength
Check dữ liệu nhập lại có trùng khớp: isConfirmed
Ví dụ: chúng ta không cho phép người dùng để trống ô input full name
Validator({
form: '#form-1',
formGroupSelector: '.form-group',
errorSelector: '.form-message',
rules: [
Validator.isRequired('#fullname'),
});
Tương tự với ô email
Validator({
form: '#form-1',
formGroupSelector: '.form-group',
errorSelector: '.form-message',
rules: [
Validator.isRequired('#email'),
Validator.isEmail('#email')
],
});
Đối với ô password + Check mật khẩu không được để trống
+ Check độ dài kí tự
+ Check mật khẩu nhập lại
Validator({
form: '#form-1',
formGroupSelector: '.form-group',
errorSelector: '.form-message',
rules: [
Validator.minLength('#password',6),
Validator.isRequired('#password_confirmation'),
Validator.isConfirmed('#password_confirmation', function(){
return document.querySelector('#form-1 #password').value;
}, 'Mật khẩu nhập lại không trùng khớp')
],
});
Mong bài viết giúp ích được các bạn phần nào trong thiết kế Website. Hãy nhấn nút like và share để mọi người cùng học hỏi kiến thức mới nhé. Cảm ơn các bạn đã quan tâm VNCODE.
Tác giả: admin
Tags: javacript
Ý kiến bạn đọc
Bạn cần đăng nhập với tư cách là Thành viên chính thức để có thể bình luận
Những tin mới hơn
-
Hướng dẫn chỉnh sửa giá woocommerce bất động sản wordpress
(07/07/2022) -
Kinh nghiệm check chất lượng SEO của một Website hiệu quả, nhanh chóng
(19/07/2022) -
Hướng dẫn copy chữ trong ảnh trên web bằng điện thoại nhanh, gọn, lẹ nhất
(27/07/2022) -
Xây dựng trình chỉnh sửa hình ảnh trong HTML CSS & JavaScript
(28/07/2022) -
Hướng dẫn cấu hình chức năng gửi mail server nukeviet
(04/08/2022) -
Hướng dẫn thay đường dẫn đăng nhập vào admin trong nukeviet
(10/09/2022) -
Hướng dẫn thay đổi hoặc loại bỏ thẻ Generator trên NukeViet
(10/09/2022) -
Hướng dẫn đổi mật khẩu tài khoản quản trị tối cao trong NukeViet
(10/09/2022) -
Công thức SEO từ khóa nhanh, hiệu quả bền vững
(23/09/2022)
Những tin cũ hơn
-
Xây hệ thống gửi Email qua Google Sheet dễ dàng
(20/06/2022) -
Gird css là gì ? Chia sẻ kiến thức cơ bản về Gird css
(14/06/2022) -
Hướng dẫn tải icon Flaticon không cần tài khoản Premium
(29/05/2022) -
Hướng dẫn sử dụng module background video nukeviet
(06/05/2022) -
Hướng dẫn fix lỗi không có og:image module download
(24/04/2022) -
19 trang website chia sẽ html 5 miễn phí
(24/04/2022) -
Hướng dẫn thêm nút sao chép code với hightlight js nukeviet
(17/04/2022) -
Thêm nút xem thêm và thu gọn dành cho chi tiết sản phẩm
(13/04/2022) -
Hướng dẫn thay đổi chữ "Trang nhất" thành trang chủ trên Nukeviet
(10/04/2022)
Hỏi đáp với tôi
close- smart_toy Hi there 👋 How can I help you today?
send