Adquiere este curso para tener acceso a todas las lecciones
Comprar curso5. Registro de usuarios
4 comentarios
Inicia sesión para comentar
Comentarios:
-
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 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 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 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);
}
}