Popin 0 Denunciar post Postado Março 21, 2010 Como faço para que quando eu for salvar um cadastro seja feita a verificação dos campos obrigatórios e caso um obrigatório não esteja preenchido emita uma mensagem? Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Março 21, 2010 Olha ao pressionar o botão no evento "onkeypress" você deve verificar atraves de um IF cada caixa se está vazia ou nao. Caso esteja uma vazia deverá aparecer a mensagem na tela para o usuário. Tipo assim IF edit1.text = '' or edit2.text = '' or edit3.text = '' or editN.text = '' then Begin Messagebox([b]digite os parametros aqui[/b]); End; Acho que isso já resolve a grosso modo. Claro que se quiser refinar dá e muito, exemplo... você pode validar cada dado digitado ao sair(onexit) de cada campo, com isso o programa fica ainda mais interessante e evita que o user faça bobagens. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Gui.Waltricke 0 Denunciar post Postado Março 21, 2010 Olá, pode utilizar também um parametro especial vamos supor que ele nao digitou o Nome if bbNovo.Text = '' then begin Application.Messagebox('Informe um nome ao cadastro','Aviso',MB_ICONINFOMATION); edtNome.SetFocus; exit; end; isso daria uma tela de erro personalizada com o Nome da janela chamada AVISO e com icone padrao do windowns de informação! e colocaria o cursor do mause no edit do nome abraço Compartilhar este post Link para o post Compartilhar em outros sites
Popin 0 Denunciar post Postado Março 21, 2010 coloquei o código que você me passou no OnKeyPress do botão gravar, mas ele não da mensagem, pois vem uma mensagem que parece erro de banco,ja que no banco o campo não pode ser null. Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Março 21, 2010 poderia copiar para cá seu código usado no evento "onclick" do botão? Compartilhar este post Link para o post Compartilhar em outros sites
Popin 0 Denunciar post Postado Março 21, 2010 procedure TFrmCidade.BtnGravarCLick(Sender: TObject) begin DM.TbCidade.Post; DM.TbCidade.ApplyUpdates; if DbEdit2.TEXT = '' then begin Application.MessageBox('Preencha o Campo','AVISO',MB_ICONINFORMATION); DBEdit2.SetFocus; end end; ta ai o código que esta no botão gravar do form cidade. Ele teria que verificar se o campo com o nome da cidade esta preenchido, mas quando deixo ele em branco e tento gravar, me traz um erro de inclusão no banco. Sera que naum teria como tratar esse erro? Qualquer ajuda é bem vinda pois não estou conseguindo fazer a verificação de campos obrigatórios. Compartilhar este post Link para o post Compartilhar em outros sites
itepi 0 Denunciar post Postado Março 22, 2010 desse jeito você deve fazer ao contrário : procedure TFrmCidade.BtnGravarCLick(Sender: TObject) begin if DbEdit2.TEXT = '' then begin Application.MessageBox('Preencha o Campo','AVISO',MB_ICONINFORMATION); DBEdit2.SetFocus; end else begin DM.TbCidade.Post; DM.TbCidade.ApplyUpdates; end; end; Mas outro jeito de se fazer é usar Try - Except...Você tenta gravar, se der erro você mostra de campo obrigatorio nao preenchido, o unico problema é que se por ventura você tentar inserir um registro com uma chave primaria duplicada aparecerá a mesma mensagem de campo obrigatorio nao preenchido, quando na realidade isto não acontece!!! Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Março 22, 2010 Só explicando o erro do seu código. Você mandou gravar os dados (DM.TbCidade.Post;) antes do if imaginei que fosse isso e por isso pedi que postasse seu código. Tente melhorar o código e veja se ja resolve. Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 22, 2010 Como faço para que quando eu for salvar um cadastro seja feita a verificação dos campos obrigatórios e caso um obrigatório não esteja preenchido emita uma mensagem? você está utilizando qual componente para acesso aos dados? Eu utilizo ClientDataSet, e nele possui uma propriedade REQUIRED (acho que é assim que se escreve), trabalhe encima dessa propriedade. tenho uma função, em casa, que trata isso para todos os ClientDataSets do form, se quiser me manda uma MP com seu email que passo ela pra você Compartilhar este post Link para o post Compartilhar em outros sites
Popin 0 Denunciar post Postado Março 22, 2010 desse jeito você deve fazer ao contrário : procedure TFrmCidade.BtnGravarCLick(Sender: TObject) begin if DbEdit2.TEXT = '' then begin Application.MessageBox('Preencha o Campo','AVISO',MB_ICONINFORMATION); DBEdit2.SetFocus; end else begin DM.TbCidade.Post; DM.TbCidade.ApplyUpdates; end; end; Mas outro jeito de se fazer é usar Try - Except...Você tenta gravar, se der erro você mostra de campo obrigatorio nao preenchido, o unico problema é que se por ventura você tentar inserir um registro com uma chave primaria duplicada aparecerá a mesma mensagem de campo obrigatorio nao preenchido, quando na realidade isto não acontece!!! Itepi, agora deu certo,mas quando coloco mais de um DbEdit no if por exemplo 'if DBEdit2.Text = ' ' or DBEdit3 = ' ' then' ele da um erro de operador logico mas naum consegui resolver. você consegue identificar algum erro de lógica? Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Março 22, 2010 Onde está o código com o problema atual?<_< Compartilhar este post Link para o post Compartilhar em outros sites
Popin 0 Denunciar post Postado Março 23, 2010 Ola pessoal. agora consegui resolver meu problema, esta funcionando corretamente.vlw Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Março 23, 2010 Ola pessoal. agora consegui resolver meu problema, esta funcionando corretamente.vlw Legal cara, que bom que resolveu, precisando de algo a mais é só retornar. Abração Compartilhar este post Link para o post Compartilhar em outros sites