01/10/2018, 10:54
Hỏi về Form Request Validation
Mình mới tìm hiểu Laravel, và xài form request để validate request,
Mình có tạo 2 cái FormRequest là StoreContact và StoreReservation
Làm thế nào để có thể gọi cả 2 cái form request này trong một request?
VD:
public function store(Request $request) {
$this->_storeContact($request);
$this->_storeReservation($request);
...
}
private function _storeContact(StoreContact $request) {...}
private function _storeReservation(StoreReservation $request) {...}
Bài liên quan
Sao bạn phải tách ra 2 form request nhỉ? Nó chỉ dùng cho 1 action thôi mà.
Cơ mà vẫn có cách. Cơ chế của FormRequest là:
Bạn xem code của họ sẽ rõ:
Files:
config/app.php
=> providerIlluminate\Foundation\Providers\FoundationServiceProvider
=>Illuminate\Foundation\Providers\FormRequestServiceProvider
Cách 1:
Hint cả 2 cái FormRequest vào function store, laravel tự động resolve và validate:
Cách 2:
Resolve 2 cái form request đó từ container, dùng helper
resolve()
hoặcapp()
Nếu muốn rõ ràng hơn thì viết thế này:
Vì mình còn có action lưu contact và reservation riêng nên phải chia ra làm 2 FormRequest.
Thank bạn, mình thấy cách 2 rất hay.