Verificação de dados

7 respostas
JP1

Bom dia,

Gostaria de saber como eu implemento um método que verifique se no momento do cadastro do usuário, tanto a senha quando o login não possuem caracteres inválidos, como: @,#,$,%,¨,*,",’,`,´,~,^,etc…

Outra dúvida, como eu faço que tudo que seja digitado nos campos de cadastrar usuário, seja em letras minusculas?

A lógica não surgiu na minha cabeça.

As validações se o usuário ja existe, se foi digitado uma senha, se elas conferem, isso tudo eu já fiz.

Obrigado.

7 Respostas

fmeyer

procura por expressores regulares …

ps: e vai dormir … ta tarde ja :mrgreen:

JP1

ta tarde mesmo, mas o problema é que meu tempo esta se esgotando… :cry: :cry:

mas vo tenta descansar.

JP1

Pelo que eu pude entender deste site http://guia-er.sourceforge.net/guia-er.html é que eu posso defirnir um bloco contendo todos os caracteres que eu quero proibir.

Seria isso?

achei este link tb… sera que com isso eu consigo fazer o que eu quero?

Rafael_Steil

Voce pode fazer assim:

import java.util.regex.*;

 public class Teste {
	public static void main(String[] args) {
		String expressao = "(?i)([a-z0-9-_]+)";

		System.out.println("login1_34".matches(expressao));
		System.out.println("hdhdhd3333".matches(expressao));
		System.out.println("!!@#$  ddaaa".matches(expressao));
		System.out.println("() meu login".matches(expressao));
		System.out.println("'qqq!".matches(expressao));
	}
 }

Rafael

pauloperes

JP@,

Tua aplicação é Desktop?

Se for, vc deve estar utilizando um JTextField, certo? se fo isso mesmo, acho que seria mais facil vc usar o JFormattedTextField passando para ele um MaskFormatter.
veja:
Método para as validações

public static javax.swing.text.MaskFormatter setMaskTelefone(){
        // Atributos do Método
        javax.swing.text.MaskFormatter formato = new javax.swing.text.MaskFormatter();              
        
        // Setando a Máscara
        try{
            formato.setMask("(##) ####-####");
            formato.setValidCharacters("[telefone removido]");
        } catch (Exception e){
            javax.swing.JOptionPane.showMessageDialog(null,
                    "Erro ao construir a máscara para o campo.",
                    "Mensagem do sistema",
                    javax.swing.JOptionPane.ERROR_MESSAGE);;
        }
        return formato;
    }

JFormattedTextField

fieldTelefone = new javax.swing.JFormattedTextField(this.setMaskTelefone());

Valeu,

Paulo

JP1

É desktop sim.

Utilizando o exemplo do Rafael eu consegui validar o login, mas a senha não… por que sera?

pauloperes, eu vou tentar seu exemplo também.

:thumbup:

JP1

pauloperes:
JP@,

Tua aplicação é Desktop?

Se for, vc deve estar utilizando um JTextField, certo? se fo isso mesmo, acho que seria mais facil vc usar o JFormattedTextField passando para ele um MaskFormatter.
veja:
Método para as validações

public static javax.swing.text.MaskFormatter setMaskTelefone(){
        // Atributos do Método
        javax.swing.text.MaskFormatter formato = new javax.swing.text.MaskFormatter();              
        
        // Setando a Máscara
        try{
            formato.setMask("(##) ####-####");
            formato.setValidCharacters("[telefone removido]");
        } catch (Exception e){
            javax.swing.JOptionPane.showMessageDialog(null,
                    "Erro ao construir a máscara para o campo.",
                    "Mensagem do sistema",
                    javax.swing.JOptionPane.ERROR_MESSAGE);;
        }
        return formato;
    }

JFormattedTextField

fieldTelefone = new javax.swing.JFormattedTextField(this.setMaskTelefone());

Valeu,

Paulo

Não funcionou :frowning:

public static MaskFormatter setFormatoNome(){ MaskFormatter formato = new MaskFormatter(); formato.setValidCharacters("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); return formato; }

tentei usar assim para o nome, mas nao deu certo.

Criado 20 de julho de 2005
Ultima resposta 3 de ago. de 2005
Respostas 7
Participantes 4