Ir para conteúdo
  • Cadastre-se

dev botao

Desenvolver um componente de validação.


  • Este tópico foi criado há 4803 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá a todos, eu gostaria do auxilio de alguém que tiver disposição para desenvolver um componente de validação:

Eu fiz um projetinho exemplo em Delphi 7 que eu valido alguns componentes do tipo: Edit, ComboBox, Memo, RadioGroup, CheckBox, e RadioGroup. Eu valido se os campos estão em vazios ou não estão selecionados.

A minha ideia era transformar este exemplo em um componente, onde eu seleciono o tipo de componente e quais componentes eu quero validar, e carrego uma lista com os componentes.

Desta forma eu consigo validar de forma genérica os componentes, eu não manjo muito em criar componentes, eu faço uma coisa ou outra por isso estou solicitando o auxilio.

Vou postar o projetinho de exemplo para analise.

Caso o componente saia do papel e seja desenvolvido eu quero doar o componente para o ACBR.

Anexo

Validador.rar

Att.

Carlos Fitl.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Carlos,

Obrigado pela oferta... mas um componente deste não é o escopo do Projeto ACBr (Automação Comercial)... Outro problema para integra-lo com o ACBr é que um componente desses dificilmente será independente de IDE ou S.O. (o que quebra uma das premissas do ACBr)

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Carlos,

Eu tenho um componente de validação, eu verifico os dados no Dataset, tenho várias condições tais como: igual, maior, menor, contem e etc.. E também tem condições por dependência, somente acontece se uma uma outra acontecer. Podemos trocar algumas ideias sobre esse assunto. Já aproveitando o tópico, crie um componente que faz pesquisa ao site do SINTEGRA, trazendo retorno dos dados do cliente, como situação, endereço e etc... utilizo o mesmo antes de enviar um NFe, verificando a situação do cliente junto a SEFAZ. Se alguém se interessar posso compartilha.

PS: Fiz a pesquisa apenas para alguns estados, mais sendo facilmente implementada para os demais.

Atenciosamente,

Charles Silva

Link para o comentário
Compartilhar em outros sites

Olá ch4rl3s, eu consegui fazer uma validação em qualquer componente, Edit, DBEdit, ComboBox, DBComboBox, ListBox, DBListBox entre outros componentes, e a validação é genérica, mas eu apenas valido se esta preenchido ou não, em apenas uma pesquisa eu consigo verifica todos os componentes que eu quero validade de uma vez só, sem ter que ficar escrevendo código em cada componente.

Esta sua pesquisa de cadastro é todo a que o ACBrNFe utiliza (Pesquisa de Cadastro)? ACBrNfe tem uma pesquisa assim.

Segue em anexo a forma como eu valido:

Validador_Final.rar

Por favor, envie seu componente para eu dar uma avaliada.

Att.

Carlos Fitl.

Link para o comentário
Compartilhar em outros sites

Olá Carlos,

não conhecia essa pesquisa do componente, como ele faz como os estados que pedem confirmação de por imagem, no caso de SP. Todas essas situações eu previ nesse meu componente de pesquisa ao SINTEGRA. Segue anexo o componente de validação, basta somente vincular um DataSet e os campos que quer validar e os respectivos valores para validar.

Dark_Validation.rar

Link para o comentário
Compartilhar em outros sites

Olá ch4rl3s, muito bom seu componente, da uma olhada neste componente de notificação, vê se você consegue implementar estes recursos nele.

Notificador.rar

Este notificador ele faz a notificação mas você precisa implementar em cada componente, o seu componente é muito melhor era assim que eu tinha em mente em fazer o componente onde você gera uma lista adicionando os componentes que você quer validar.

O interessante deste notificador em anexo e que ele gera um lista com os campos que possuem erro, e mostra um ícone ao lado dele, onde é possivel validar todos de uma única vez.

Se nos conseguirmos fazer com o que o usuário possa validar das duas formas, um por um ou todos de uma única, onde o ícone de aviso que aparece ao lado do componente seria opcional, onde o usuário pode mostrar o ícone ou não e ao mesmo tempo mostrar em uma lista os erros de validação.

O que você me diz?

Att.

Carlos Fitl.

Link para o comentário
Compartilhar em outros sites

Carlos,

quando vc adicionar um item para validar tem a propriedade focus control, quando der um erro nessa validação o mesmo será focado. Para apresentar todos os erros de uma vez use o evento Onvalidation do seguinte modo:

procedure TForm1.SimValidation1Validation(Campo, Aviso: string;

AvisoCount: Integer; isFinished: Boolean);

begin

if isFinished then

begin

showmessage(Aviso);

end;

end;

sobre o o icone no controle já tinha pensando nisso também, vou da uma olhada nesse componente e vejo oq posso fazer.

Atenciosamente,

Charles Silva

Link para o comentário
Compartilhar em outros sites

Ok.

Você conhece os componentes JEDI? Tem um componente chamado JvValidators, ele é muito parecido com o seu componente, a diferença que você não aponta para o DataSet, e o JvValidators aponta para o campo que você quer validar.

Em seu componente caso tenha varias tabelas você precisa colocar mais que um componente para ligar no DataSource, mas não deixa de ser um excelente compente.

Se você me permite eu posso dar umas ideias e você vê se convem adicionar em seu componte, desta forma seu componente poderia atingir varios casos de validação de varios outros componentes.

Att.

Carlos Fitl.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 4803 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.