Khi thực hiện xác thực trong Laravel, bạn có thể cần chuyển hướng người dùng quay lại trang trước để hiển thị phản hồi lỗi. Để làm điều đó, bạn sẽ phải trả về phương thức "back[]" và đính kèm các đầu vào và lỗi bằng cách sử dụng "withInput[]" và "withErrors[]" từ bộ điều khiển chịu trách nhiệm xác thực
Ví dụ mã đầy đủ
Ví dụ mã bên dưới phải được đặt trong phương thức điều khiển của bạn.
withInput[] ->withErrors[[ 'email' => 'Your email must be from either one of these providers ' . collect[$providers]->join[', ', ' or '] ]]; } }
Cách in laravel với thông báo Lỗi trên tệp phiến. Cách gửi tin nhắn tùy chỉnh với phương thức Error[]. Laravel chuyển hướng trở lại với lỗi không hoạt động. Cách gửi thông báo lỗi với chuyển hướng trở lại trong laravel 7, laravel 8, laravel 9
Laravel gửi thông báo lỗi bằng phương thức chuyển hướng
Laravel cung cấp phương thức withError[] để gửi lỗi tới file blade. Hàm withError nhận một thông báo hoặc mảng thông báo lỗi, xem ví dụ bên dưới
Bộ điều khiển người dùng. phpclass UserController extends Controller{ public function login[Request $request]{ $validator = Validator::make[$request->all[], [ 'email' => 'required', 'password' => 'required', ]]; if[$validator->fails[]] return back[]->withErrors[$validator]; try { if[auth[]->attempt[['email' => $request->email, 'password' => $request->password]]] return "login success"; else return back[]->withErrors['These credentials do not match our records.']; } catch [\Exception $e] { return back[]->withErrors[["custom_name" => "Either something went wrong or invalid access!"]]; } } }
đọc thêm. Laravel truy vấn whereDate, whereMonth và whereYear
Cách in thông báo laravel withError[]
Trong file laravel blade, chúng ta in ra các loại thông báo lỗi khác nhau. Trong ví dụ trường hợp đầu tiên, chúng tôi in lỗi bằng cách chạy vòng lặp foreach, nó sẽ in tất cả lỗi do hàm withError trả về và trong trường hợp thứ hai, in lỗi theo tên khóa của nó
Trong bài viết này, chúng ta sẽ tìm hiểu về cách chúng ta có thể chuyển hướng trở lại với các thông báo lỗi cũng như các thông báo cũ để trên trang làm mới, trường nhập của chúng tôi sẽ được tự động điền
chúng tôi hầu như sử dụng xác thực mặc định của laravel một phương thức để xác thực vì nó sẽ tự động chuyển hướng trở lại trang biểu mẫu trước đó của bạn. Nhưng đôi khi bạn cần đặt kiểm tra xác thực tùy chỉnh hoặc nếu có điều kiện thì bạn cũng có thể chuyển hướng ngược lại[] với thông báo lỗi giống như thông báo lỗi mặc định hoạt động
Trong ví dụ dưới đây, tôi đã cố gắng chỉ cho bạn ví dụ đơn giản nhất, với thông báo lỗi tùy chỉnh
Hãy xem cách chúng ta có thể làm mà không cần sử dụng mà không cần nhập liệu
Bạn cũng có thể đọc. Tin nhắn nhấp nháy trong laravel 8
return Redirect::back[]->withErrors[['email.required' => 'Your Message']];
Ví dụ hiển thị lỗi với đầu vào
return Redirect::back[]
->withInput[]
->withErrors[['email.required', 'Your Message']];
Trong blade, tệp thêm mã bên dưới để xem thông báo lỗi
@if[$errors->any[]]
{{$errors->first[]}}
@endif
Tôi hy vọng bây giờ bạn đã hiểu cách ghi đè thông báo lỗi bằng cách sử dụng chuyển hướng quay lại trong laravel
Khi bạn cần chuyển hướng đến một trang nhưng bạn muốn hiển thị thông báo, bạn có thể sử dụng withError trong mã điều khiển
return Redirect::back[]->withErrors[['msg', 'The Message']];
Sau đó gọi thông báo lỗi trong chế độ xem của bạn
@if[$errors->any[]]{{$errors->first[]}}
@endif
Để kiểm tra xem có tin nhắn hay không, hãy sử dụng Phiên. has['tin nhắn']
Session::has['msg']
Bạn có thể sử dụng đèn flash thay thế
________số 8Đôi khi, chúng ta cần chuyển hướng trở lại trang biểu mẫu với các giá trị đầu vào và thông báo lỗi trong ứng dụng laravel 5. Vì vậy, nếu bạn có cùng yêu cầu quay lại với thông báo lỗi xác thực hoặc chuyển hướng quay lại với giá trị đầu vào thì bài đăng này sẽ giúp bạn. bạn cũng có thể sử dụng ví dụ này với phiên bản laravel 6, laravel 7, laravel 8 và laravel 9
chúng tôi hầu như sử dụng phương thức xác thực mặc định của laravel để xác thực vì nó sẽ tự động chuyển hướng trở lại với trang biểu mẫu trước đó của bạn. Nhưng đôi khi bạn cần đặt kiểm tra xác thực tùy chỉnh hoặc nếu có điều kiện thì bạn cũng có thể chuyển hướng ngược lại[] với thông báo lỗi giống như thông báo lỗi mặc định hoạt động
Trong bài đăng này, tôi sẽ cung cấp cho bạn một ví dụ rất đơn giản để chỉ cho bạn cách bạn có thể chuyển hướng trở lại với thông số đầu vào và thông báo lỗi