Bài 17: Validate form Modal Bootstrap với jQuery Ajax
0
Google +0
0
Đăng bởi: TheHalfHeart - Vào ngày: 08-11-2015 - Chuyên mục: PHP - View: 1061
Download Demo
Theo như bạn nói thì mình sẽ sử dụng jQuery kết hợp với Ajax để xây dựng chức năng Validate form trong Modal Bootstrap. Thực tế thì chức năng này mình có khá nhiều bài hướng dẫn rồi nhưng có lẽ bạn vẫn còn mơ hồ với Ajax nên mình xây dựng một video luôn cho bạn.
1. Tạo form đăng ký thành viên với Modal Bootstrap
Để tiện việc Support thì mình sẽ hướng dẫn cách Validate form đăng ký thành viên có tên là modal.php với nội dung như sau.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<!DOCTYPE HTML> <style> <!-- Button --> <!-- Modal --> <!-- Modal content--> </div> </div> |
Bạn có thể XEM DEMO để thấy rõ hơn.
Bạn cần chú ý đoạn code HTML sau:
1 2 3 |
<div class="alert alert-danger hide"> </div> |
Đây là đoạn code mình dùng để hiển thị thông báo lỗi nên ban đầu load lên nó sẽ được ẩn bằng cách thêm class hide.
Và đoạn code HTML sau:
1 2 3 |
<div class="alert alert-success hide"> </div> |
Đây là đoạn code dùng hiển thị thông báo đăng ký thành công.
2. Tạo file xử lý truy vấn CSDL
Bây giờ ta cần tạo một file register.php để validate thông tin username và email trong CSDL xem đã tồn tại hay chưa, sau đó trả kết thông báo thành công hay thất bại để biết được thông tin hợp lệ hay không.
Trong file này chúng ta sẽ thực hiện 6 bước. Nhưng tóm lại bạn sẽ thực hiện 2 bước chính đó là validate data và insert data.
Trước tiên ta cần tạo một database demo và một tables users như sau:
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE DATABASE `demo`; USE `demo`; DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( |
Tiếp theo bạn viết nội dung của file register.php như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
// Biến trả kết quả về cho người dùng // BƯỚC 1: LẤY THÔNG TIN // BƯỚC 2: VALIATE THÔNG TIN ĐƠN GIẢN if (empty($password)){ if (empty($email)){
// BƯỚC 3: KIỂM TRA CÓ LỖI KHÔNG, NẾU CÓ LỖI THÌ TRẢ VỀ LUÔN, CÒN KHÔNG THÌ TIẾP TỤC KIỂM TRA
// BƯỚC 4: KẾT NỐI CSDL VÀ KIỂM TRA THÔNG TIN $username = addslashes($username); $sql = "SELECT * " $result = mysqli_query($conn, $sql); if (!$result){ if (mysqli_num_rows($result) > 0) // BƯỚC 5: TRẢ KẾT QUẢ VỀ NẾU CÓ LỖI // BƯỚC 6: LƯU VÀO CSDL // Trả kết quả cuối cùng |
Mình đã giải thích kỹ trong code rồi nên không giải thích gì thêm. Nếu vẫn khó hiểu thì hãy xem video nhé.
3. Xử lý jQuery Validate thông tin
Bạn bổ sung đoạn Javascript sau vào file chứa Modal.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
$(document).ready(function(){ // Khi người dùng click Đăng ký // Lấy dữ liệu // Gửi ajax // Lặp qua các key và xử lý nối lỗi // 4 giay sau sẽ tắt popup |
Trong code mình cũng đã giải thích rất kỹ rồi.
Như vậy là bạn đã xây dựng chức năng validate dữ liệu trong Modal Bootstrap thành công rồi đấy.
Hình ảnh đăng ký thành công:
Hình ảnh đăng ký thất bại:
4. Bổ sung phần xử lý thông báo lỗi
Trong bài mình đã thiếu phần ẩn thông báo lỗi khi bật Popup Modal lên nên bạn bổ sung đoạn code sau vào sự kiện $(document).ready() nhé.
1 2 3 4 |
$('#myModal').on('hidden.bs.modal', function () { |
5. Lời kết
Nếu bạn thắc mắc tại sao không validate nhập thông tin bằng javascript thì đó là vì mình muốn giảm bớt code để bạn dễ hiểu hơn. Tuy nhiên trong PHP mình cũng đã có validate nó rồi nên sẽ an toàn hơn. Nếu bạn thích thì hãy tự viết bổ sung đoạn code đó vào.
Nếu bạn đã đọc qua serie học Ajax trên freetuts thì bài này tương đối dễ với bạn đấy, chủ yếu là ý tưởng thôi.
0 nhận xét:
Đăng nhận xét