Módulo de validações
O módulo de validações fornece uma maneira fácil out-of-the-box para verificar se o conteúdo de uma mensagem no seu fluxo corresponde a um determinado conjunto de critérios. A principal vantagem que isso tem sobre o uso de filtrosé a rastreabilidade, como filtra todo levantar exceções idênticas, tornando-se difícil para você saber onde a exceção foi causada. Validadores, por outro lado, gerar uma exceção com uma mensagem significativa em anexo. Opcionalmente, você pode personalizar esta mensagem e até mesmo o tipo de exceção que você quer que ele jogue.
Este recurso é suportado pelo tempo de execução Mule partir de Mule ESB 3.7.0 em ambas as edições comunitárias e Enterprise. Contudo, o apoio Studio só se tornou disponível a partir do lançamento em setembro de 2015. |
Basics
O módulo de validações foi projetado seguindo estes princípios:
- Se a mensagem não atender aos critérios especificados, a validação falhar e uma ValidationException é lançada.
- Por padrão, esta excepção tem uma mensagem significativa em anexo. Opcionalmente, você pode personalizar esta mensagem e alterar o tipo de exceção gerada, desde que o novo tipo de exceção tem um construtor que substitui Exception (String).
- No caso de você querer jogar um tipo de exceção que não tem esse construtor, ou em que a sua criação não é trivial, ou em que você quer que contêm informações adicionais, você pode construir um validador personalizado .
Validador como um processador de mensagens
Você pode usar o validador como um processador de mensagens, seja através da interface do Studio ou adicionando-a como uma marca XML. Use-o desta forma quando você deseja realizar validações como parte de seu fluxo e você quer que uma exceção seja lançada quando os critérios validados não é cumprida.
Validador como um Expression MEL
Além disso, na maioria dos casos você pode invocar um validador através de uma mula Expression Language (MEL)expressão. O propósito de expor validadores através MEL é usá-los na tomada de decisões. Ao contrário da versão do processador de mensagens, estes trabalhos como funções booleanas e não produzem uma mensagem de saída, eles apenas retornar verdadeiro quando a validação for bem sucedida ou falso caso contrário. Todos os validadores estão disponíveis através de um validador variável no contexto MEL.
1
2
3
4
5
6
7
8
9
10
<flow name="melValidation">
<choice>
<when expression="#[validator.validateEmail(payload.email)]">
<flow-ref name="sendEmail" />
</when>
<otherwise>
<logger message="no email. Try contacting the user some other way" />
</otherwise>
</choice>
</flow>
Tipos de validador
Existem vários tipos diferentes de validador que fora da caixa cobrem a maior parte dos casos de uso comuns que você pode executar em.
Se nenhum dos validadores descritos a seguir cobrir o que você precisa, você também pode criar um validador personalizado . |
Validar usando uma expressão regular
Valida que uma determinada expressão corresponde a uma expressão regular Java.
Nenhum comentário:
Postar um comentário