Validação de formulários swing  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
Gobain
JavaTeenager
[Avatar]

Membro desde: 27/06/2007 13:10:28
Mensagens: 176
Localização: Curitiba
Offline

Olá pessoas,

Eu criei este tópico pq gostaria de saber como vcs fazem a validação de formulários swing, de repente algumas dicas e tal. Qd digo validação acho q todos entendem q é algo como garantir q o os campos obrigatórios sejam preenchidos e da forma correta.
Não sei se existe algum framework para facilitar este tipo de ação ou não, ou algum componente pra isso. A maioria das minhas validações faço na mão mesmo, algo como:

E aí, q vcs fazem?

This message was edited 2 times. Last update was at 17/10/2008 08:01:43

[WWW] [MSN] [ICQ]
dmandrak
JavaGuru
[Avatar]

Membro desde: 29/05/2008 22:41:53
Mensagens: 247
Offline

Gobain wrote:Olá pessoas,

Eu criei este tópico pq gostaria de saber como vcs fazem a validação de formulários swing, de repente algumas dicas e tal. Qd digo validação acho q todos entendem q é algo como garantir q o os campos obrigatórios sejam preenchidos e da forma correta.
Não sei se existe algum framework para facilitar este tipo de ação ou não, ou algum componente pra isso. A maioria das minhas validações faço na mão mesmo, algo como:

E aí, q vcs fazem?


Cara, tem uma parada - que eu nao lembro o nome, por isso chamei de parada - que eu usei num aplicativo que usava rich faces...

Não sei se vai funcionar pra vc pq eram parâmetros xml.

Nos campos tinham coisas como maxintegerdigits, minintegerdigits, intergeronly, allownull e coisas do tipo.

No fundo acho que é o que vc busca, mas exatamente para swing nao sei...


é a vida...
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Eu uso o SwingBean. Ele já gera a tela automáticamente baseado em uma classe e arquivo XML e faz a validadção tb. A validação dele se faz de duas maneiras: Via mascara ou via regex.
Dá uma olhada: http://swingbean.sourceforge.net/

This message was edited 1 time. Last update was at 17/10/2008 08:21:01


Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
Gobain
JavaTeenager
[Avatar]

Membro desde: 27/06/2007 13:10:28
Mensagens: 176
Localização: Curitiba
Offline

dmandrak wrote:Cara, tem uma parada - que eu nao lembro o nome, por isso chamei de parada - que eu usei num aplicativo que usava rich faces...

Não sei se vai funcionar pra vc pq eram parâmetros xml.

Nos campos tinham coisas como maxintegerdigits, minintegerdigits, intergeronly, allownull e coisas do tipo.

No fundo acho que é o que vc busca, mas exatamente para swing nao sei...


Então, eu vi que parecido com isso tem o InputVerifier, mas não é com xml (pelo menos não vi isso).

renzonuccitelli wrote:Eu uso o SwingBean. Ele já gera a tela automáticamente baseado em uma classe e arquivo XML e faz a validadção tb. A validação dele se faz de duas maneiras: Via mascara ou via regex.
Dá uma olhada: http://swingbean.sourceforge.net/

O SwingBean é bacana, mas posso usá-lo só pra fazer a validação?
[WWW] [MSN] [ICQ]
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Gobain,

Não da pra usar ele só para fazer validação não. Mas qdo nao uso ele, uso a idéia. Extendo a text field colocando na classe um pattern. Aí coloco um método verify para validar o campo baseado em uma regex do campo. Assim, para validações diferentes só criar a refex apropriada, em vez de implementar o código todo na mão.

This message was edited 1 time. Last update was at 17/10/2008 09:10:52


Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
Gobain
JavaTeenager
[Avatar]

Membro desde: 27/06/2007 13:10:28
Mensagens: 176
Localização: Curitiba
Offline

Ah sim, a regex resolve muitos problemas... E também tem a validação básica q é uma máscara num JFormattedTextField né, q resolve alguns problemas por não aceitar a entrada se não estiver no formato especificado, ou formata pra adequar.
[WWW] [MSN] [ICQ]
v_vinicius_v
Debugger

Membro desde: 01/02/2007 06:33:17
Mensagens: 73
Offline

Gobain wrote:Ah sim, a regex resolve muitos problemas... E também tem a validação básica q é uma máscara num JFormattedTextField né, q resolve alguns problemas por não aceitar a entrada se não estiver no formato especificado, ou formata pra adequar.


Eu prefiro essa que você citou !
As vezes fico na dúvida também se estou fazendo da melhor forma .
O que você é alguma coisa como isso aqui :

Eu uso essa pra validar nomes pra poder salvar como arquivo .

JTextField jtextfield = new AddressField();



è uma boa forma ?

This message was edited 4 times. Last update was at 17/10/2008 11:40:09

Gobain
JavaTeenager
[Avatar]

Membro desde: 27/06/2007 13:10:28
Mensagens: 176
Localização: Curitiba
Offline

Criar o Document pro JTextField ignorar alguns caracteres é bacana tb, mas será q não da pra simplificar a busca pelos caracs inválidos? Usar regex com Pattern e Matcher ao inves do if( a || b || c || .. || n )?
[WWW] [MSN] [ICQ]
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Gobain wrote:Criar o Document pro JTextField ignorar alguns caracteres é bacana tb, mas será q não da pra simplificar a busca pelos caracs inválidos? Usar regex com Pattern e Matcher ao inves do if( a || b || c || .. || n )?


Exatamente o que eu ia falar. O problema que o caracter especial para indicar letra e algarismos não aceitas os acentuados, aí tem que colocar na mão. Mas mesmo assim, acho mais elegante, mas aí é questão de gosto.
Eu tinha problemas com a mascara quando limpava o campo, para que possa ser feito outro cadastro.

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
Gobain
JavaTeenager
[Avatar]

Membro desde: 27/06/2007 13:10:28
Mensagens: 176
Localização: Curitiba
Offline

renzonuccitelli wrote:Exatamente o que eu ia falar. O problema que o caracter especial para indicar letra e algarismos não aceitas os acentuados, aí tem que colocar na mão. Mas mesmo assim, acho mais elegante, mas aí é questão de gosto.
Eu tinha problemas com a mascara quando limpava o campo, para que possa ser feito outro cadastro.


Mas aí é uma questão de fazer a combinação certa. Essa regex aqui > "[^\\p{L}\\p{N}]" < tirei do blog do Rafael Lossurdo, só q ela elimina qualquer pontuação junto. O negócio mesmo é fazer a necessária pra cada caso.

Expressões Regulares
[:alnum:] Caracteres alfanuméricos, o que no caso de ASCII corresponde a [A-Za-z0-9].
[:alpha:] Caracteres alfabéticos, o que no caso de ASCII corresponde a [A-Za-z].
[:blank:] Espaço e tabulação, o que no caso de ASCII corresponde a [ \t].
[:cntrl:] Caracteres de controle, o que no caso de ASCII corresponde a [\x00-\x1F\x7F].
[:digit:] Dígitos, o que no caso de ASCII corresponde a [0-9]. O Perl oferece o atalho \d.
[:graph:] Caracteres visíveis, o que no caso de ASCII corresponde a [\x21-\x7E].
[:lower:] Caracteres em caixa baixa, o que no caso de ASCII corresponde a [a-z].
[:print:] Caracteres visíveis e espaços, o que no caso de ASCII corresponde a [\x20-\x7E].
[:punct:] Caracteres de pontuação, o que no caso de ASCII corresponde a [-!"#$%&'()*+,./:;<=>?@[\\\]_`{|}~].
[:space:] Caracteres de espaços em branco, o que no caso de ASCII corresponde a [ \t\r\n\v\f]. O Perl oferece o atalho \s, que, entretanto, não é exatamente equivalente; diferente do \s, a classe ainda inclui um tabulador vertical, \x11 do ASCII.[4]
[:upper:] Caracteres em caixa alta, o que no caso de ASCII corresponde a [A-Z].
[: xdigit:] Dígitos hexadecimais, o que no caso de ASCII corresponde a [A-Fa-f0-9].

This message was edited 2 times. Last update was at 17/10/2008 12:53:27

[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team