Bài 28: Validate Form bằng Javascript

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;

}

 

Về bài trước...

                                 Bài tiếp theo...

 

 


Tài liệu lập trình PHP

Bài viết trong cùng chuyên mục

Góc games giải trí



Cờ caro


Butterfly


Lật hình (luyện trí nhớ)

Cờ tướng ONLINE

Xếp hình

Ghép hình

15_PUZZLE

Kill ghosts

Banchim

Planet Defense

Tower game

Tower game

Plapy Bird (NH.Đông)

Vượt chướng ngại vật



0379136392

Thông tin liên hệ: Lê Văn Thuyên - ĐT: 0379136392 ; Gmail: lethuyen0379136392@gmail.com

Comment

 +   Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!

Trả lời

 *   Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!

Trả lời

 *   Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!

Trả lời

 +   -:

Trả lời

 +   -:

Trả lời

12554