Jump to content
Sign in to follow this  
Tonik

Validar Campos

Recommended Posts

Tonik

Bom dia pessoal,

Eu no meu programazito, tenho uma classe que é de registar clientes, onde tem os seguintes campos para preencher, noma, morada, nif, telemovel, telefone, email, e gostaria de verificar se estes campos estão preenchidos, e no caso no campos numericos, vereficar se estão la inserido campos nomerios, assim como no caso do telemovel sem tem 9 carateres numericos inseridos.

Cumprimentos

private void GuardarClienteActionPerformed(java.awt.event.ActionEvent evt) {											
 int resp = -1;


 nomeCliente = nomeClientetf.getText();
 moradaCliente = moradaClientetf.getText();		
 nifClienteString = nifClientetf.getText();		
 nifCliente = Integer.parseInt(nifClienteString);	
 idCliente = nomeCliente + nifClienteString;			
 tlfCliente = Integer.parseInt(tlfClientetf.getText());	
 tlmCliente = Integer.parseInt(tlmClientetf.getText());	
 emailCliente = emailClientetf.getText();

 resp = gestor.guardarCliente(idCliente, nomeCliente, moradaCliente, nifCliente, tlmCliente, tlfCliente, emailCliente);

 nomeClientetf.setText("");
 moradaClientetf.setText("");
 nifClientetf.setText("");
 tlfClientetf.setText("");
 tlmClientetf.setText("");
 emailClientetf.setText("");

 //pop up com resposta:
 if(resp == -1){
	 JOptionPane.showMessageDialog(null, "Identificador já utilizado");
 }
 else{
	 jTable2.getModel().setValueAt(idCliente, countJTableClientes , 0);
	 jTable2.getModel().setValueAt(nomeCliente, countJTableClientes, 1);
	 countJTableClientes++;
	 JOptionPane.showMessageDialog(null,"Cliente adicionado com sucesso.");
 }


}											

Edited by Baderous
geshi

Share this post


Link to post
Share on other sites
joelbrito

Podes verifica se um campo está vazio assim:

if(nomeClientetf.getText().equals("")){
   //Campo vazio
}else{
   //Stuff
}

e para os campos numéricos podes utilizar o formattedTextField.

http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html

http://javafree.uol.com.br/artigo/863862/JFormattedTextField.html


Engenharia de Sistemas Informáticos @ IPCA

"Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs

Share this post


Link to post
Share on other sites
Tonik

Amigo assim consigo verificar se o campo está fazio, e manda uma menssagem para o ecra a dzr que falta preencher o nome, mas no fim guarda guarda da mesma forma

int resp = -1;


 nomeCliente = nomeClientetf.getText();
 moradaCliente = moradaClientetf.getText();		
 nifClienteString = nifClientetf.getText();		
 nifCliente = Integer.parseInt(nifClienteString);	
 idCliente = nomeCliente + nifClienteString;			
 tlfCliente = Integer.parseInt(tlfClientetf.getText());	
 tlmCliente = Integer.parseInt(tlmClientetf.getText());	
 emailCliente = emailClientetf.getText();

	 if(nomeClientetf.getText().equals("")){
		 JOptionPane.showMessageDialog(null, "Tem de Preencher o nome");

	 if(moradaClientetf.getText().equals("")){
		 JOptionPane.showMessageDialog(null, "Tem de Preencher morada");

	 if(nifClientetf.getText().equals("")){
		 JOptionPane.showMessageDialog(null, "Tem de Preencher o Nif");

		 }else{

 resp = gestor.guardarCliente(idCliente, nomeCliente, moradaCliente, nifCliente, tlmCliente, tlfCliente, emailCliente);

 nomeClientetf.setText("");
 moradaClientetf.setText("");
 nifClientetf.setText("");
 tlfClientetf.setText("");
 tlmClientetf.setText("");
 emailClientetf.setText("");

 //pop up com resposta:
 if(resp == -1){
	 JOptionPane.showMessageDialog(null, "Identificador já utilizado");
 }
 else{
	 jTable2.getModel().setValueAt(idCliente, countJTableClientes , 0);
	 jTable2.getModel().setValueAt(nomeCliente, countJTableClientes, 1);
	 countJTableClientes++;
	 JOptionPane.showMessageDialog(null,"Cliente adicionado com sucesso.");
 }

Edited by Baderous
geshi

Share this post


Link to post
Share on other sites
joelbrito

Assim só não grava se o nifClientetf estiver vazio.

Tens o código um pouco confuso, faltam-te fechar algumas chavetas nos ifs.

if(nomeClientetf.getText().equals("")){
JOptionPane.showMessageDialog(null, "Tem de Preencher o nome");
}else if(moradaClientetf.getText().equals("")){
JOptionPane.showMessageDialog(null, "Tem de Preencher morada");
}else if(nifClientetf.getText().equals("")){
JOptionPane.showMessageDialog(null, "Tem de Preencher o Nif");				   
}else{
//GuardaraCliente
}

Só guardas se nenhum dos campos estiver vazio.

Edited by joelbrito

Engenharia de Sistemas Informáticos @ IPCA

"Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs

Share this post


Link to post
Share on other sites
Tonik

Obrigado amigo void, o código que meteste a cima resolveu o problema :)

Eu sei que tenho o código um pouco confuso mas ainda sou novo neste ramo da programaçao.

Consegues-me deixar um exemplo de como validar se no campo estão inseridos carateres numericos e se tem nove carateres lá inseridos?

Eu não consegui validar os carateres numericos :(

Mais uma vez obrigado pelo ajuda dada acima foi mesmo muito util. =)

Share this post


Link to post
Share on other sites
Tonik

Eu tenho o código assim, ja valida se os campos estao escrito ou nao, e caso seja tudo positivo guarda, já está bom, agora resta validar se são carateres numericos e quantos tem! :)

if(nomeClientetf.getText().equals("")){
 JOptionPane.showMessageDialog(null, "Tem de Preencher o nome");

 }else if(moradaClientetf.getText().equals("")){
 JOptionPane.showMessageDialog(null, "Tem de Preencher morada");

 }else if(nifClientetf.getText().equals("")){
 JOptionPane.showMessageDialog(null, "Tem de Preencher o Nif");

 }else if(tlmClientetf.getText().equals("")){
 JOptionPane.showMessageDialog(null, "Tem de Preencher o Telemovel");

 }else if(tlfClientetf.getText().equals("")){
 JOptionPane.showMessageDialog(null, "Tem de Preencher oTelefone");

 }else if(emailClientetf.getText().equals("")){
 JOptionPane.showMessageDialog(null, "Tem de Preencher o email");

 }else{

Edited by Baderous
geshi

Share this post


Link to post
Share on other sites
AJBM

Boas para validar se são caracteres numéricos tenta isto

void vernumeros(String numeros){

char[] c

if (numeros != null) {

for (int i = 0; i < numeros.length(); i++) {

c = numeros.toCharArray();

for (int j = 0; j < c.length; j++) {

if (!Character.isDigit(c[j])) {

mandas uma mensagem

}

}

}

}

Edited by AJBM

Share this post


Link to post
Share on other sites
joelbrito

void vernumeros(String numeros){

char[] c

if (numeros != null) {

for (int i = 0; i < numeros.length(); i++) {

c = numeros.toCharArray();

for (int j = 0; j < c.length; j++) {

if (!Character.isDigit(c[j])) {

mandas uma mensagem

}

}

}

}

Isto funciona?? Não me parece...

Vê este exemplo e adapta ao que tu queres:

String str = "1ol5a";

	char[] c = new char[str.length()];

	c=str.toCharArray();

	for(int i =0; i<c.length ; i++){
		if(!Character.isDigit(c[i])){
			System.out.println("Posiçao "+i+" não é numerico!!! "+c[i]);
		}else{
			System.out.println("Posiçao "+i+" é numerico!!! "+c[i]);
		}
	}

Mas para mim a melhor forma é utilizar o formatted text field só a aceitar números e com um tamanho determinado, ou não, dependendo dos números de telef/telem que vão ser introduzidos. Para outros países o tamanho pode não ser 9.

Isto se for uma aplicação gráfica e não de consola.

  • Vote 1

Engenharia de Sistemas Informáticos @ IPCA

"Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.