laravel 5.6 accion de editar validar user

vamos a crear una validacion para que al editar no se pueda poner un nombre en blanco ni usar un email que ya exista


php artisan make:request UserUpdateRequest

Vamos a app/Http/Requests/UserUpdateRequest.php

   public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required',
            'email' => 'required'
        ];
    }

y ahora se validara que ambos campos tengan algun valor.

mejoremos la validacion del campo email, le agregaremos que tenga un formato valido de email y que ademas no sea igual a otro email que ya exista en la tabla

    'email' => 'required | email | unique:users,email'

esta ultima validacion tiene el problema de que si no modificamos el email nos va a dar un error pues
va a detectar que el email ya existe...pues compara con el del mismo usuario ..cosa que debemos evitar enviando un tercer parametro con el ID del usuario que se esta actualizando para que no lo tome en cuenta al momento de la evaluacion.

el id lo vamos a obtener de la route

'email' => 'required | email | unique:users,email,'.$this->route('user')

donde user es el nombre del parametro de nuestra route para el update.


     

1 comentario:

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable