15. Flash input đến session (Flash input to the session)

https://viblo.asia/p/tap-16-request-laravel-aWj534Y8K6m

Laravel cho phép chúng ta giữ input data của request trong request kế tiếp. Tính năng này cực kỳ hữu ích cho việc điền lại các form khi submit gặp lỗi.

Trước khi tìm hiểu thì ta hãy phân tích thuật ngữ "flash session" đã. Thông thường các session sẽ được giới hạn bởi thời gian nhất định, hoặc kéo dài cho tới khi kết thúc phiên làm việc của trình duyệt... Nhưng đối với flash session, "tuổi thọ" của nó chỉ kéo dài trong một request. Tức là tại request nào đó, flash session sẽ được khởi tạo, tới request tiếp theo, nó được sử dụng làm việc gì đó rồi sau đó bị xóa bỏ.

a. Flash input đến session (Flash input to the session)

Method flash trong lớp Illuminate\Http\Request sẽ flash input data trong request hiện tại đến session để có thể sử dụng lại trong request kế tiếp. Nếu bạn muốn tất cả input đều flash thì có thể cho dòng code này trước khi bắt đầu xử lý logic trong controller.

$request->flash();

Bạn có thể sử dụng hai method flashOnlyflashExcept để có thể lọc các input mà bạn muốn flash session.

// Chỉ flash session hai input "username" và "email" trong request
$request->flashOnly(['username', 'email']);

// Flash session tất cả input, ngoại trừ input "password" trong request
$request->flashExcept('password');

Last updated