私はFormRequest
をルールとメッセージとともに削除メソッドに追加しようとしていましたが、要求は空に戻り、毎回ルールが失敗しています。リクエストボディのLaravel DELETEメソッド
リクエストデータを削除する方法はありますか?
ここに私の要求クラスがあります:
use App\Http\Requests\Request;
class DeleteRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'staff_id' => ['required', 'exists:users,uid'],
'reason' => ['required', 'string'],
];
}
/**
* Get custom messages for validator errors.
*
* @return array
*/
public function messages()
{
return [
'staff_id.required' => staticText('errors.staff_id.required'),
'staff_id.exists' => staticText('errors.staff_id.exists'),
'reason.required' => staticText('errors.reason.required'),
'reason.string' => staticText('errors.reason.string'),
];
}
}
とコントローラ:
/**
* Handle the 'code' delete request.
*
* @param integer $id The id of the code to fetch.
* @param DeleteRequest $request The request to handle the data.
* @return response
*/
public function deleteCode($id, DeleteRequest $request)
{
dd($request->all());
}
こんにちは、あなたのコードを示してください。任意のメソッドでリクエストデータを取得できるためです。おそらくdeleteメソッドでは、FormRequestオブジェクトをパラメータとして渡していないかもしれません。 –
郵便配達員を使用したテスト。私はクエリのパラメータとしてデータを渡すが、フォームの本文としては渡さない場合は機能します。 – Imagine17
あなたのDeleteRquestクラスはFormRequestを拡張する必要があるかもしれませんが、これは要求フォームを使用する正しいクラス(ビューで使用されるため)です。郵便配達員を使用してテストする場合は、過去の値をフォーム本体の構成で試してください。これは、ラーバルビューで使用されるのと同じフォームです。 –