Để xác thực và xử lý dữ liệu đầu vào từ các biểu mẫu bằng tính năng xác thực trong Laravel, hãy làm theo các bước sau:
Định nghĩa Quy tắc Kiểm tra
Bắt đầu bằng cách xác định quy tắc xác thực cho các trường biểu mẫu của bạn. Laravel cung cấp các quy tắc xác thực khác nhau mà bạn có thể sử dụng để đảm bảo tính toàn vẹn và hợp lệ của dữ liệu.
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email|unique:users|max:255',
'password' => 'required|min:8',
]);
// Xử lý dữ liệu đã được kiểm tra
$user = User::create([
'name' => $validatedData['name'],
'email' => $validatedData['email'],
'password' => Hash::make($validatedData['password']),
]);
// Chuyển hướng đến trang thành công hoặc thực hiện các hành động khác
return redirect()->route('users.index')->with('success', 'Tạo người dùng thành công.');
}
Trong ví dụ trên, chúng tôi xác định quy tắc xác thực cho các trường tên, email và mật khẩu. Quy required
tắc đảm bảo rằng các trường không trống, email
quy tắc xác thực định dạng email, unique:users
quy tắc kiểm tra xem email có phải là duy nhất trong users
bảng hay không và quy tắc max
và min
xác định độ dài tối đa và tối thiểu cho trường mật khẩu.
Xử lý Kết quả Kiểm tra
Tính năng xác thực của Laravel sẽ tự động thực hiện xác thực dựa trên các quy tắc đã xác định. Nếu xác thực không thành công, Laravel sẽ chuyển hướng người dùng trở lại biểu mẫu với các thông báo lỗi thích hợp. Bạn có thể truy xuất các thông báo lỗi này trong chế độ xem của mình để hiển thị chúng cho người dùng.
<!-- Hiển thị lỗi kiểm tra -->
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<!-- Biểu mẫu tạo người dùng -->
<form method="POST" action="{{ route('users.store') }}">
@csrf
<input type="text" name="name" placeholder="Tên" value="{{ old('name') }}">
<input type="email" name="email" placeholder="Email" value="{{ old('email') }}">
<input type="password" name="password" placeholder="Mật khẩu">
<button type="submit">Tạo người dùng</button>
</form>
Trong đoạn mã trên, chúng ta kiểm tra xem có lỗi kiểm tra nào không và hiển thị chúng trong một hộp thông báo. Hàm old()
được sử dụng để điền lại các trường biểu mẫu với các giá trị đã nhập trước đó nếu có lỗi kiểm tra.
Bằng cách làm theo ví dụ này, bạn có thể kiểm tra và xử lý dữ liệu đầu vào từ biểu mẫu bằng cách sử dụng tính năng kiểm tra trong Laravel. Điều này đảm bảo rằng dữ liệu đáp ứng các quy tắc bạn đã định nghĩa và giúp duy trì tính toàn vẹn dữ liệu trong ứng dụng của bạn.