「フォーム リクエスト」でルート パラメータを検証したいのですが、その方法がわかりません。
以下はコードサンプルです。私は試しています:
ルート
// controller Server
Route::group(['prefix' => 'server'], function(){
Route::get('checkToken/{token}',['as'=>'checkKey','uses'=> 'ServerController@checkToken']);
});
コントローラ
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Requests;
class ServerController extends Controller {
public function checkToken( \App\Http\Requests\CheckTokenServerRequest $request) // OT: - why I have to set full path to work??
{
$token = Token::where('token', '=', $request->token)->first();
$dt = new DateTime;
$token->executed_at = $dt->format('m-d-y H:i:s');
$token->save();
return response()->json(json_decode($token->json),200);
}
}
CheckTokenServerRequest
namespace App\Http\Requests;
use App\Http\Requests\Request;
class CheckTokenServerRequest extends Request {
//autorization
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'token' => ['required','exists:Tokens,token,executed_at,null']
];
}
}
しかし、単純な URL http://myurl/server/checkToken/222を検証しようとすると、応答が返されます: no " token " parameter set
.
別の「フォームリクエスト」でパラメーターを検証することは可能ですか?それとも、コントローラーですべてを行う必要がありますか?
ps。私の悪い英語でごめんなさい。