Registro de usuarios
Comprar curso

5. Registro de usuarios


4 comentarios

Inicia sesión para comentar

Comentarios:

  • Mario Aurelio Gasca Lopez

    Mario Aurelio Gasca Lopez hace 4 meses

    Hola comunidad, siguiendo el ejercicio del profesor intente realizar la validación desde un validator request, pero me encontre con un problema. El problema es que al consumir el end point la respuesta de validator se hace en formato HTML que lo que devuelve por defecto, así que investigando un poco, logre realizar que esta validación nos responda con los errores de validación en formato json, les dejo el ejemplo y espero les ayude bastante.

    namespace App\Http\Requests\API\V1;

    use Illuminate\Foundation\Http\FormRequest;

    use Symfony\Component\HttpFoundation\Response;

    use Illuminate\Contracts\Validation\Validator;

    use Illuminate\Http\Exceptions\HttpResponseException;

     

    class UserRegisterRequest extends FormRequest

    {

        /**

         * Determine if the user is authorized to make this request.

         */

        public function authorize(): bool

        {

            return true;

        }

     

        /**

         * Get the validation rules that apply to the request.

         *

         * @return array<string, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>

         */

        public function rules(): array

        {

            return [

                ‘your validations here’

            ];

        }

        public function messages(): array

        {

            return [

                ‘Your message validations here’ 

            ];

        }

     

        protected function failedValidation( Validator $validator )

        {

            throw new HttpResponseException(

                response()->json([

                    'status'    => 'failed',

                    'message'   => 'Validation failed',

                    'errors'    => $validator->errors(),

                    ], Response::HTTP_UNPROCESSABLE_ENTITY)

            );

        }

    }

    Una vez que se creo el metodo failedValidation, solo es necesario inyectar la dependencia dentro de nuestro metodo store como se realiza comunmente en Laravel.

    Saludos
     

    • Alejandra Buentello hace 2 meses

      Esto es parte del Controller? 

  • Juan Sebastián Joya Rodríguez

    Juan Sebastián Joya Rodríguez hace 6 meses

    Holi, solo una aclaración pequeña, como estamos creando usuarios, el codigo http que se debería usar es 201 y no 200. De resto, todo muy bien

  • Jorge Alberto Mondragon Escamilla

    Jorge Alberto Mondragon Escamilla hace 1 año

    Hola Victor puedo usar postman pero con livewire?

    • Victor Arana Flores hace 1 año

      Hola Jorge, Postman sirve para hacer peticiones a una api.

      Livewire no sirve para crear apis, sino sitios web dinámicos.

  • Juanjo Sierra

    Juanjo Sierra hace 2 años

    Hola profe, me preguntaba si no sería mejor crear un objeto de un usuario, para de esta manera poder encryptar la contraseña.

     

    public function store(Request $request)

        {

            $request->validate([

                'name' => 'required|string|max:15|min:3',

                'email' => 'required|string|max:255|unique:users',

                'password' => 'required|min:8|confirmed',

            ]);

     

            $user = new User();

            $user->name = $request->get('name');

            $user->email = $request->get('email');

            $user->password = bcrypt($request->get('password'));

            $user->save();

     

            return response($user,200);

        }    

    }