Validação com Demoiselle 3
O Frontend Demoiselle fornece através de seu serviço ExceptionService um Observable para que a aplicação possa Subscrever e tratar as mensagens de validação de formulários de forma apropriada.
Desta forma, toda vez que ocorrer um erro de validação no lado do servidor o serviço ExceptionService do Demoiselle Frontend informa a sua aplicação (um componente, serviço de notificação, ...) fornecendo os erros para tratamento.
Por padrão o backend Demoiselle 3 retorna uma coleção/array contendo em cada item a estrutura do erro.
Utilização
Para utilizar o serviço de validação ExceptionService em seu componente ou serviço é necessário:
- Adicionar ExceptionService aos providers do módulo principal da aplicação (ou em CoreModule::forRoot()) para que o serviço seja singleton;
- Importar o serviço ExceptionService;
- Injetar o serviço ExceptionService no construtor;
- Subscrever-se ao Observable de validação informando a função de tratamento de erro;
Exemplo
import { ExceptionService } from '@demoiselle/http';
constructor(private exceptionService: ExceptionService) {}
ngOnInit() {
this.validationSubscription = this.exceptionService.validation$.subscribe(
error => this.exibirErros(error)
);
}
exibirErros(errors: any) {
// tratar o erro aqui
// alert(errors);
}
Veremos nos próximos artigos 3 formas possíveis para tratamento de erros de validação:
- Componente a nível de campo (tag <error-field>);
- Componente a nível de formulário (tag <error-form>);
- Serviço de notificação;
Para consultar a documentação sobre o tratamento de exceções no Backend com Demoiselle 3 acesse: Documentação JEE