BlackTDN Search

quarta-feira, 4 de abril de 2012

BlackTDN :: Expressões Regulares ~ RegExp via Ezzy Learning Validation

Israel Neves estava com uma dúvida na validação de Expressões Regulares em ADVPL. Após pesquisar muito, conclui que não existem funções Prontas em ADVPL e, se existirem não estão disponíveis para uso. Em função disso, segue uma pequena amostra de como validar Expressões Regulares usando a ferramenta “online” da Ezzy Learning.

No Exemplo, uso o validador de Expressões Regulares da Ezzy Learning para verificar se um endereço de e-mail é valido.

Peguei emprestada a Classe TDecode do projeto Harbour MiniGui para tratar Content-Type: application/x-www-form-urlencoded

Para obter o código do exemplo clique aqui. Opcionalmente, poderá consultar os códigos aqui e as dependências aqui

Os exemplos poderão ser testados executando-se U_RegExpEx na tela de entrada do sistema. A saída se dara no console do Protheus Server.

As validações são baseadas em RegularExpressionValidationService.

RegExp: [SoapRegExp][1.1][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [SoapRegExp][1.2][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [HttpGetRegExp][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [HttpPostRegExp][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]

RegExp: [SoapRegExp][1.1][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [SoapRegExp][1.2][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpGetRegExp][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpPostRegExp][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]

RegExp: [SoapRegExp][1.1][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [SoapRegExp][1.2][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpGetRegExp][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpPostRegExp][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]

Infelizmente não consegui criar o Client do Web Server baseado no WDSL da Ezzy Learning pois o Protheus retorna o seguinte erro:

Estabelecendo conexão com o server...
Por favor aguarde. Obtendo descrição do WebService...
Erro na obtenção da descrição do WebService:
*** ERRO AO GERAR FONTE ADVPL ***
Source URL : http://www.ezzylearning.com/services/RegularExpressionValidationService.asmx?wsdl
-------------------------------------------------------------------------------
WSCERR075 / Unsuported Enumeration List []
ADVPL WSDL Client 1.111215 / P10 Ndj_01 on 20120404 00:13:49
-------------------------------------------------------------------------------

Mas isso não me impediu de disponibilizar um exemplo funcional e de fácil entendimento usando TSocketClient, HTTPGET e HTTPPOST

[]s

иαldσ dj

Nenhum comentário:

Postar um comentário