Creé una solicitud de formulario personalizada llamada ClientStoreRequest con el siguiente código:

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class ClientStoreRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
        // return  $this->user()->can('add-clients');
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|unique:clients|max:255',
            'website' => 'required|url',
            'street' => 'required',
            'town' => 'required',
            'postcode' => 'required|max:8',
            'county' => 'required',
            'country' => 'required'
        ];
    }
}

Luego modificé mi método store 's store para parecer esto:

    /**
     * Store a newly created resource in storage.
     *
     * @param  ClientStoreRequest  $request
     * @return \Illuminate\Http\Response
     */
    public function store(ClientStoreRequest $request)
    {
        dd(1);
    }

Entonces, cuando se envía el formulario, debe matar la página e imprimir un 1 a la pantalla. Cuando uso ClientStoreRequest $request, simplemente me envía de vuelta a la página donde presenté el formulario sin errores y no dd(1)} resultado, sin embargo, cuando utilizo Request $request, imprime 1 a la pantalla.

¿Me estoy perdiendo algo realmente obvio? He siguió a los docs para hacer esto.

EDITAR: Estoy usando un controlador de recursos para que la ruta sea Route::resource('clients', 'ClientController');

4
Andy Holmes 14 jul. 2019 a las 00:07

1 respuesta

La mejor respuesta

Un poco embarazoso, pero este se fue puramente al error del desarrollador. La solicitud de formulario personalizada está funcionando correctamente ... Solo mis reglas están haciendo referencia a un campo que olvidé poner en mi forma, ¡así que no muestra los errores de la pantalla! Una vez que hice eco de la matriz de errores de $ habitual, pude ver mi error, ¡culparé a la codificación de la noche!

2
Andy Holmes 13 jul. 2019 a las 23:03