Validation sẽ kiểm tra tính hợp lệ của dữ liệu nhập vào Form. Trong Laravel có các qui tắc được quy định sẵn. Khi muốn sử dụng chúng ta chỉ cần viết lệnh ra là được.

Nếu không viết Validate người dùng sẽ nhập nhiều dữ liệu lung tung, đôi khi trùng lặp. Điều này không tốt chút nào cho cơ sở dữ liệu Database.

Để cho dễ hiểu hơn trước tiên bạn hãy làm theo Bài 5: Thêm dữ liệu vào Database trong Laravel. Tạo ra các tập tin rồi chạy thử xem kết quả như thế nào đã nhé!

Lưu ý:

Kiểm tra dữ liệu với Validation trong Laravel

Một số qui tắc Validate cần thiết:

  • required: Trường đầu vào thiết lập là bắt buộc.
  • min: Xác thực độ dài ký tự tối thiểu.
  • max: Xác thực độ dài ký tự tối đa.
  • email: Đầu vào thiết lập phải là một địa chỉ email hợp lệ.
  • unique: Kiểm tra giá trị duy nhất đối với một cột cơ sở dữ liệu.
  • numeric: Giá trị đầu vào phải là số.
  • same: Xác nhận giá trị hai trường đầu vào phải giống nhau.

Tại tập tin InsertController.php mình sẽ sửa lại như sau:

public function insert_data(Request $request) {

        $validatedData = $request->validate([
               'name' => 'bail|required|alpha|min:6|max:10',
               'email' => 'bail|required|email',
               'pass' => 'bail|required|min:8',
               'pass_repeat' => 'bail|required|same:password',
            ], [
                'name.required' => 'Yêu cầu nhập tên',
                'email.required' => 'Yêu cầu nhập email',
                'pass.required' => 'Yêu cầu nhập mật khẩu',
                'pass_repeat.required' => 'Yêu cầu nhập lại mật khẩu'
            ]);
  
        $name = $validatedData['name'];
        $email = $validatedData['email'];
        $pass = bcrypt($validatedData['pass']);

        DB::insert('insert into admin (username, email, password) values (?, ?)', [$name,$email,$pass]);
   }

Tiếp theo tại file insert.blade.php sẽ thêm code ở phía trên <form>

@if (count($errors) > 0)
  <div class="error-message">
      <ul>
          @foreach ($errors->all() as $error)
          <li>{{ $error }}</li>
          @endforeach
      </ul>
  </div>
  @endif

Và sau đó gõ URL http://localhost/blog/public/insert lên trình duyệt thấy xuất hiện cảnh báo yêu cầu nhập vào input.

validate-form

Khi các điều kiện thỏa mãn với Validation Form dữ liệu sẽ được truyền tới Database để ghi vào CSDL. Như vậy là với bài viết này bạn đã biết cách sử dụng Validation và kiểm tra tồn tại trong Laravel rồi. Nếu khó khăn trong quá trình thực hành vui lòng để lại bình luận bên dưới để được hỗ trợ. Cảm ơn bạn đã đọc và chúc thành công!

Cùng chủ đề

Bình luận!

Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *