как получить доступ к ошибкам валидации остальных API, сделанных в laravel, и отобразить их в виде в Ionic 4 с угловым? - PullRequest
0 голосов
/ 25 июня 2019

Привет, друзья! У меня есть api rest, созданный с помощью laravel 5.8. Вопрос в том, что я хочу показать, что зарегистрированное письмо уже существует в базе данных, и показать это сообщение об ошибке пользователю, я был бы признателен вашим мастерам помощи. .

register(form: NgForm) {
  this.presentLoading();
        this.authService.register(form.value.nombre_usuario_app,form.value.apellido_usuario_app,form.value.selectpais,
        form.value.email,form.value.password).subscribe(
          data => {
            this.authService.login(form.value.email,form.value.password).subscribe(
              data => {
              },
              error => {
                console.log(error);
                this.MessageError=error.errors.email;
              },
              () => {
                this.dismissRegister();
                this.navCtrl.navigateRoot('/home');
              }
            );
            this.alertService.presentToast(data['message']);
          },
          error => {
            console.log(error);
            this.MessageError=error.errors.email;
          });
      }
    }

это функция для регистрации пользователей, и вот как я хочу получить доступ к ошибке проверки error => {console.log(error); this.MessageError=error.errors.email; });

здесь тип ошибки json 422 для сбоя при запросе

это мой код в контроллере

public function register(Request $request)
{
    $request->validate([
        'nombre_usuario_app' => 'required|string',
        'apellido_usuario_app' => 'required|string',
        'paises_id'=> 'required|string',
        'email' => 'required|string|unique:users',
        'password' => 'required|string'
    ]);

    //primero generamos un nuevo perfil para asignarle ese id al users en el campo perfil_users_app_id
    $new_perfil = new UserAppPerfil;
    $new_perfil->vago_puntos = 0;
    $new_perfil->promocines_canjeadas = 0;
    $new_perfil->promociones_guardadas = 0;
    $new_perfil->premios_ganados = 0;
    $new_perfil->save();

    //luego procedemos a crear un nuevo usuario app
    $user = new User;
    $user->nombre_usuario_app = $request->nombre_usuario_app;
    $user->apellido_usuario_app= $request->apellido_usuario_app;
    $user->email = $request->email;
    $user->paises_id = $request->paises_id;
    $user->password = bcrypt($request->password);
    $user->perfil_users_app_id = $new_perfil->id;//aqui le asignamos el id del perfil creado anteriormente
    if($user->save()){
        return response()->json([
        'message' => 'Bienvenido'],200);
    }else{
        return response()->json([
            'message' => 'el email ya ha sido registrado anteriormente',422]);
}
...