Dúvida de Comparação de Strings com Objetos

6 respostas
T

fala galera… to com um problema… quero comparar Objetos com variaveis do tipo Long

tipo assim

if (this.Long1>Objeto.value && this.Long2<=Objeto.value) {

FacesMessage message = new FacesMessage(

“*Valor especificado não está entre os esperados para o sexo masculino R${0} a R${0}”);

throw new ValidatorException(message);
}

6 Respostas

maurenginaldo

Quando vc receber o objeto da tela, transforma ele em um Long e compara com seu valor long

T

blz… mas na pratica como eu faço isso… há me parece que não posso usar <>= esses comparadores para tipo Long… qual devo usar

maurenginaldo

Primeiro:

Como vc esta recebendo o parâmetro da tela?

T
maurenginaldo:
Primeiro:

Como vc esta recebendo o parâmetro da tela?

Bom dia...

olá amigo eu criei uma classe de validação.. usando o metodo própio para a mesma... eu criei um Id de validação dentro do faces-config e estou chamando a classe no meu codigo jsf desse jeito "" basicamente minha validação vai especificar faixas salariais tanto pra sexo masculino quanto pra feminino.... vai aí o meu codigo da minha classe de validação;;; há no final dela onde se encontra o metodo que valida está errado... pois a minha dúvida é essa como comparar um objeto que está retornando com as minhas variáveis salariominimo e salariomaximo

package br.teste.manterpessoa.negocio;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;





public class Validacao implements Validator {

	private String sexo;
	private Long salarioMinimo;
	private Long salarioMaximo;
	private Long salarioAtual;
	
	int seq;
	String parametro;

	
	public void converter() {
		seq = Integer.parseInt(parametro);
	}
	public Long getSalarioAtual() {
		return salarioAtual;
	}

	public void setSalarioAtual(Long salarioAtual) {
		this.salarioAtual = salarioAtual;
	}

	public Long getSalarioMinimo() {
		return salarioMinimo;
	}

	public void setSalarioMinimo(Long salarioMinimo) {
		this.salarioMinimo = salarioMinimo;
	}

	public Long getSalarioMaximo() {
		return salarioMaximo;
	}

	public void setSalarioMaximo(Long salarioMaximo) {
		this.salarioMaximo = salarioMaximo;
	}

	public String getSexo() {
		return sexo;
	}

	public void setSexo(String sexo){
		this.sexo=sexo;
			
	}
	
	public String validacao (String sex) throws Exception {
		try {
			
			if (sex.trim().equals("M")) {
				this.setSalarioMinimo(new Long(380));
				this.setSalarioMaximo(new Long(400));
				
			} else {
				this.setSalarioMinimo(new Long(380));
				this.setSalarioMaximo(new Long(390));
			}
			return (null);
		} catch (Exception e) {
			throw new Exception(e);
		}
	}

	
	
	public void validate(FacesContext arg0, UIComponent arg1, Object value)
	throws ValidatorException {
       
		if (value < this.salarioMinimo && value > this.salarioMaximo) {

			FacesMessage message = new FacesMessage(
					"*Valor especificado não está entre os esperados para o sexo masculino R${0} a R${0}");
			throw new ValidatorException(message);

		}
	}

	
}
maurenginaldo

1º) O que está dando errado? Quando vc debuga qual é o erro?

2º) Acho que vc postou uma dúvida sobre setrar salários em outro post, te respondi vc viu?

3º) E se vc está setando o salário mínimo e máximo desse validator, como vc está retornando esses valores para a tela?
Os seus componentes estão linkados a esse validator ou a outro bean?

T

maurenginaldo:
1º) O que está dando errado? Quando vc debuga qual é o erro?

2º) Acho que vc postou uma dúvida sobre setrar salários em outro post, te respondi vc viu?

3º) E se vc está setando o salário mínimo e máximo desse validator, como vc está retornando esses valores para a tela?
Os seus componentes estão linkados a esse validator ou a outro bean?

  1. não consigo comparar as variáveis… o método retorna um objeto da tela cuja é o campo salario que o usuario digitou… o que tenho que fazer é atribuir valores pra salario minimo e maximo e depois comparar com o que ele digitou, mas o metodo validate não me deixa colocar mas nenhum if lá dentro… dá um erro.

  2. sim respondi sim… mas quando eu atribuo os valores nas variaveis lá no set ela não está passando pelo setSexo, na verdade essa validação é do campo salário certo… agora não sei pq motivo que não deu certo… será que tenho que chamar o setSexo…

  3. na verdade não retorno esses valores… shó criei essas variaveis pra fazer a comparação;

Criado 15 de fevereiro de 2008
Ultima resposta 18 de fev. de 2008
Respostas 6
Participantes 2