Ngày đăng: 2024-04-13 21:09:23
Mục lục:
1. Bài toán validate form bằng Javascript
2. Tạo các function Javascript hỗ trợ validate form
3. Các bước validate form bằng Javascript
1. Bài toán validate form bằng Javascript
Trước tiên bạn hãy tạo một form đăng ký thành viên gồm các thông tin: Tên đăng nhập, mật khẩu, điện thoại, email, và cuối cùng là địa chỉ.
< form method = "post" action = "" id = "loginform" >
< table border = "1" cellpadding = "10" >
< tr >
< td >Tên đăng nhập: </ td >
< td >
< input type = "text" id = "username" name = "username" value = "" />
< span id = "username_error" ></ span >
</ td >
</ tr >
< tr >
< td >Mật khẩu: </ td >
< td >
< input type = "text" id = "password" name = "password" value = "" />
< span id = "password_error" ></ span >
</ td >
</ tr >
< tr >
< td >Nhập lại mật khẩu: </ td >
< td >
< input type = "text" id = "repassword" name = "repassword" value = "" />
< span id = "repassword_error" ></ span >
</ td >
</ tr >
< tr >
< td >Phone: </ td >
< td >
< input type = "text" id = "phone" name = "phone" value = "" />
< span id = "phone_error" ></ span >
</ td >
</ tr >
< tr >
< td >Email </ td >
< td >
< input type = "text" id = "email" name = "email" value = "" />
< span id = "email_error" ></ span >
</ td >
</ tr >
< tr >
< td >Địa chỉ </ td >
< td >
< input type = "text" id = "address" name = "address" value = "" />
< span id = "address_error" ></ span >
</ td >
</ tr >
< tr >
< td ></ td >
< td >
< input type = "submit" onclick = "return validate();" id = "btn" name = "btn" value = "Đăng ký" />
</ td >
</ tr >
</ table >
</ form >
|
Và đây là yêu cầu của bài toán:
- Username không được trống, tối thiểu 5 ký tự, ko chứa ký tự đặc biệt
- Mật khẩu không được trống, tối thiểu 8 ký tự
- Mật khẩu nhập lại phải trùng
- Phone phải là những con số và 10 ký tự
- Email phải đúng định dạng, va không được để trống.
2. Tạo các function Javascript hỗ trợ validate form
Phần HTML đã xong rồi, bây giờ ta bắt đầu code Javascript.
Trước tiên bạn hãy tạo cho mình hai function bổ trợ như sau:
// Lấy giá trị của một input
function getValue(id){
return document.getElementById(id).value.trim();
}
// Hiển thị lỗi
function showError(key, mess){
document.getElementById(key + '_error' ).innerHTML = mess;
}
|
Trong đó function getValue
dùng để lấy giá trị của một thẻ input, tham số truyền vào chính là ID của thẻ cần lấy.
Function showError
dùng để hiển thị nội dung lỗi, nó sẽ gắn nội dung vào thẻ span mà ta đã khai báo ở phần HTML.
3. Các bước validate form bằng Javascript
Bây giờ ta bắt đầu xử lý từng điều kiện một nhé.
Bạn có thấy trong button Đăng Ký mình có bổ sung một function vào sự kiện click không?
<input type= "submit" onclick= "return validate();" id= "btn" name= "btn" value= "Đăng ký" />
|
Ta hãy tạo một function tên là validate nhé.
function validate()
{
// Code validate tại đây
}
|
Bây giờ ta sẽ code validate cho nó vào trong function này.
function validate()
{
var flag = true ;
// 1 username
var username = getValue( 'username' );
if (username == '' || username.length < 5 || !/^[a-zA-Z0-9]+$/.test(username)){
flag = false ;
showError( 'username' , 'Vui lòng kiểm tra lại Username' );
}
// 2. password
var password = getValue( 'password' );
var repassword = getValue( 'repassword' );
if (password == '' || password.length < 8 || password != repassword){
flag = false ;
showError( 'password' , 'Vui lòng kiểm tra lại Password' );
}
// 3. Phone
var phone = getValue( 'phone' );
if (phone != '' && !/^[0-9]{10}$/.test(phone)){
flag = false ;
showError( 'phone' , 'Vui lòng kiểm tra lại Phone' );
}
// 4. Email
var email = getValue( 'email' );
var mailformat = /^[a-zA-Z0-9.! #$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
if (!mailformat.test(email)){
flag = false ;
showError('phone ', ' Vui lòng kiểm tra lại Email');
}
return flag;
}
|