17. Lấy old input (Retrieving old input) (ok)
https://viblo.asia/p/tap-16-request-laravel-aWj534Y8K6m
Đế lấy old input từ request trước, sử dụng method old
có trong Illuminate\Http\Request
. Phương thức này sẽ lấy flash session đã lưu trữ ở request trước với tham số nhận vào là tên input.
Ngoài ra, Laravel còn cung cấp cho ta global helper function old
. Với nó, ta có thể lấy bất kỳ flash input nào ngay cả trong Blade template. Nếu flash input không tồn tại, nó sẽ trả về giá trị null
.
Nói nãy giờ mình nghĩ ta nên thực hành một chút. Chúng ta sẽ sử dụng các route và controller đã đăng ký ở trước. Tại blade view form
, mình có HTML form như sau:
Mục đích mình muốn là sau khi nhấn nút "Login" thì sẽ quay trở lại form này và truyền flash input chỉ cho input "username". Chính vì thế mình chỉ khai báo old
ở trong input "username" thôi.
Rồi bây giờ chúng ta qua code xử lý logic trong controller FormController
tại hàm post
.
Như bạn thấy, mình sử dụng method back
để trở về lại trang form, tiếp theo là setup flash input với method withInput
, cuối cùng là lọc flash input mà mình muốn. Các bạn thử điền username và password, sau đó nhấn nút "Login", và đây là kết quả:
Input data của "username" đã được giữ lại sau khi trở về trang form, nếu các bạn refresh trang form lần nữa, thì các flash input sẽ biến mất.
Last updated