Serviço de notificação

Outra opção para exibição dos erros de validação do servidor é configurar um serviço de notificação da aplicação para exibição de tais erros.

Para exemplificar tomaremos como base o serviço de notificação apresentado aqui: Configurando e adicionando um serviço de notificação

Adicionaremos a subscrição para que sejamos avisados toda vez que ocorrer um erro de validação no servidor, e no tratamento, exibiremos a mensagem de erro:

import { Injectable } from '@angular/core';
import { ToastsManager } from 'ng2-toastr/ng2-toastr';
import { Http } from '@angular/http';
import { Subscription } from 'rxjs/Subscription';

@Injectable()
export class NotificationService {
  validationSubscription: Subscription;
  constructor(private toastr: ToastsManager, private http: Http, private exceptionService: ExceptionService) {
    this.validationSubscription = this.exceptionService.validation$.subscribe(
      error => this.showValidationErrors(error)
    );
  }

  showValidationErrors(errors: any) {
    for (let error of errors) {
        this.error('Erro de validação! Campo: ' + error.error_field + ' , Descrição: ' + error.error_description);
    }
  }

  success(text: string) {
    this.toastr.success(text);
  }

  error(text: string) {
    this.toastr.error(text);
  }

  info(text: string) {
    this.toastr.info(text);
  }

  warning(text: string) {
    this.toastr.warning(text);
  }
}

results matching ""

    No results matching ""