JQUERY TUTORIALS
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Bài 02: Hướng dẫn sử dụng jQuery validation - Conditional

Ở bài trước chúng ta đã sử dụng plugin jquery  form validation để kiểm tra các định dạng đơn giản, nhưng chưa kiểm tra các rule phức tạp như kiểm tra mật khẩu nhập vào có trùng nhau hay không? Nên trong bài này ta sẽ tìm hiểu cách sử dụng chức năng conditional để tự đưa ra những rule riêng nhé.

1. Sử dụng jquery form validate conditional

Bài toán như sau: Cho một form đăng ký gồm có tên đăng nhập, mật khẩu và mật khẩu nhập lại. Hãy sử dụng plugin jquery validate để kiểm tra định dạng các rule của form như sau:

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
  • Username: không được trống
  • Password: không được trống
  • RePassword : không được trống. Giống Password 

Bước 1: Xây dựng form

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>Conditional Demo</title>
        
        <style>
            .success{border: solid 1px blue;}
            .error {border:solid 1px red;}
        </style>
        <script src="jquery-1.9.0.min.js"></script>
        <script src="jquery-validate.js"></script>
        
    </head>
    <body>
        <form id="form">
            <div>
                <input type="text" name="username" id="username" data-required />
                <label for="username">Username</label>
            </div>
            <div>
                <input type="password" name="password" id="password" data-required />
                <label for="password">Password</label>
            </div>
            <div>
                <input type="password" name="confirm" id="confirm" data-required data-conditional="checkpassword" />
                <label for="confirm">Confirm</label>
            </div>
            <div>
                <button type="submit">Send</button>
                <button type="reset">Reset</button>
            </div>
        </form>
    </body>
</html>
Chạy lên ta sẽ có form như hình dưới đây:

huong-dan-su-dung-jquery-validation-phan-2

Như thường lệ, ở bước này tôi có định nghĩa một số Rule như hình dưới đây:

huong-dan-su-dung-jquery-validation-phan-2

Với data-required thì quá quen thuộc rồi, nhưng tôi có định nghĩa một rule mới đó là data-conditional="checkpassword". Công dụng như thế nào thì ta sang bước 2 sẽ rõ.

Bước 2: Viết script validate form

<script>
    $(document).ready(function(){
        $('form').validate({
            onKeyup: true,
            eachValidField: function() {
                $(this).removeClass('error').addClass('success');
            },
            eachInvalidField: function() {

                $(this).removeClass('success').addClass('error');
            },
            // Conditional dùng để tạo các rule kiểm tra điều kiện riêng
            // và kết quả trả về của mỗi rule là true/false
            // Mỗi rule sẽ có tên trùng với khai báo data-conditional="checkpassword"
            conditional: {
                checkpassword : function() {
                    return $(this).val() == $('#password').val();
                }
            }
        });
    });
</script>
Ở bước này ta cần chú ý ở phương thức conditional. Trong mỗi conditional ta sẽ khai báo những hàm có tên khác nhau và kết quả của mỗi hàm sẽ trả về true/false. Nếu input nào muốn sử dụng conditional đó thì chỉ cần thêm vào thuộc tính data-conditional="conditional_name".

Vậy ta có full code như sau:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>Conditional Demo</title>
        
        <style>
            .success{border: solid 1px blue;}
            .error {border:solid 1px red;}
        </style>
        <script src="jquery-1.9.0.min.js"></script>
        <script src="jquery-validate.js"></script>
        <script>
            $(document).ready(function(){
                $('form').validate({
                    onKeyup: true,
                    eachValidField: function() {
                        $(this).removeClass('error').addClass('success');
                    },
                    eachInvalidField: function() {

                        $(this).removeClass('success').addClass('error');
                    },
                    // Conditional dùng để tạo các rule kiểm tra điều kiện riêng
                    // và kết quả trả về của mỗi rule là true/false
                    // Mỗi rule sẽ có tên trùng với khai báo data-conditional="checkpassword"
                    conditional: {
                        checkpassword : function() {
                            return $(this).val() == $('#password').val();
                        }
                    }
                });
            });
        </script>
    </head>
    <body>
        <form id="form">
            <div>
                <input type="text" name="username" id="username" data-required />
                <label for="username">Username</label>
            </div>
            <div>
                <input type="text" name="password" id="password" data-required />
                <label for="password">Password</label>
            </div>
            <div>
                <input type="text" name="confirm" id="confirm" data-required data-conditional="checkpassword" />
                <label for="confirm">Confirm</label>
            </div>
            <div>
                <button type="submit">Send</button>
                <button type="reset">Reset</button>
            </div>
        </form>
    </body>
</html>

Xem demo:

2. Lời kết

Bài này rất đơn giản nhưng tôi lại giải thích dài dòng, vì đây là nguyên tắc riêng nên mong các bạn thông cảm, các tuts mình sẽ chia nhỏ ra để bạn dễ theo dõi và dễ tìm lại nội dung hơn. Bài tiếp theo ta sẽ học cách khai báo mô tả thông báo lỗi trong plugin jquery form validation.

Cùng chuyên mục:

slideUp() và slideDown() trong jQuery

slideUp() và slideDown() trong jQuery

Nếu nói đến hiệu ứng slide thì ta phải tìm đến những ...

fadeIn() và fadeOut() trong jQuery

fadeIn() và fadeOut() trong jQuery

Không giống như show và hide, fadeIn và fadeOut sẽ hiển thị hoặc mờ ...

Show() và Hide() trong jQuery

Show() và Hide() trong jQuery

Hàm hide chỉ đơn giản là thiết lập thuộc tính ...

jQuery selector là gì? Trọn bộ selector trong jQuery đầy đủ nhất

jQuery selector là gì? Trọn bộ selector trong jQuery đầy đủ nhất

Trong bài này chúng ta sẽ tìm hiểu về Selector trong jQuery, đây là bài…

jQuery là gì? Cách viết jQuery cho người mới bắt đầu

jQuery là gì? Cách viết jQuery cho người mới bắt đầu

Trong công nghệ web 2.0 thì Javascript là một

Cách ẩn hiện nội dung khi click vào button trong jQuery

Cách ẩn hiện nội dung khi click vào button trong jQuery

Cách dùng All Selector (“*”) trong jQuery

Cách dùng All Selector (“*”) trong jQuery

Cách dùng All Selector (“*”) trong jQuery

Cách dùng :animated Selector trong jQuery

Cách dùng :animated Selector trong jQuery

Cách dùng :animated Selector trong jQuery

Cách dùng Attribute Contains Prefix Selector [name|=”value”] trong jQuery

Cách dùng Attribute Contains Prefix Selector [name|=”value”] trong jQuery

Cách dùng Attribute Contains Prefix Selector [name|=”value”] trong jQuery

Cách dùng Attribute Contains Selector [name*=”value”] trong jQuery

Cách dùng Attribute Contains Selector [name*=”value”] trong jQuery

Cách dùng Attribute Contains Selector [name*=”value”] trong jQuery

Cách dùng Attribute Contains Word Selector [name~=”value”] trong jQuery

Cách dùng Attribute Contains Word Selector [name~=”value”] trong jQuery

Cách dùng Attribute Contains Word Selector [name~=”value”] trong jQuery

Cách dùng Attribute Ends With Selector [name$=”value”] trong jQuery

Cách dùng Attribute Ends With Selector [name$=”value”] trong jQuery

Cách dùng Attribute Ends With Selector [name$=”value”] trong jQuery

Cách dùng Attribute Equals Selector [name=”value”] trong jQuery

Cách dùng Attribute Equals Selector [name=”value”] trong jQuery

Cách dùng Attribute Equals Selector [name=”value”] trong jQuery

Cách dùng Attribute Not Equal Selector [name!=”value”] trong jQuery

Cách dùng Attribute Not Equal Selector [name!=”value”] trong jQuery

Cách dùng Attribute Not Equal Selector [name!=”value”] trong jQuery

Cách dùng Attribute Starts With Selector [name^=”value”] trong jQuery

Cách dùng Attribute Starts With Selector [name^=”value”] trong jQuery

Cách dùng Attribute Starts With Selector [name^=”value”] trong jQuery

Cách dùng :button Selector trong jQuery

Cách dùng :button Selector trong jQuery

Cách dùng :button Selector trong jQuery

Cách dùng :checkbox Selector trong jQuery

Cách dùng :checkbox Selector trong jQuery

Cách dùng :checkbox Selector trong jQuery

Cách dùng :checked Selector trong jQuery

Cách dùng :checked Selector trong jQuery

Cách dùng :checked Selector trong jQuery

Cách dùng Child Selector (“parent > child”) trong jQuery

Cách dùng Child Selector (“parent > child”) trong jQuery

Cách dùng Child Selector (“parent > child”) trong jQuery

Cách dùng Class Selector (“.class”) trong jQuery

Cách dùng Class Selector (“.class”) trong jQuery

Cách dùng Class Selector (“.class”) trong jQuery

Top