Quando vc receber o objeto da tela, transforma ele em um Long e compara com seu valor long
T
tiagotmr
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
tiagotmr
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
packagebr.teste.manterpessoa.negocio;importjavax.faces.application.FacesMessage;importjavax.faces.component.UIComponent;importjavax.faces.context.FacesContext;importjavax.faces.validator.Validator;importjavax.faces.validator.ValidatorException;publicclassValidacaoimplementsValidator{privateStringsexo;privateLongsalarioMinimo;privateLongsalarioMaximo;privateLongsalarioAtual;intseq;Stringparametro;publicvoidconverter(){seq=Integer.parseInt(parametro);}publicLonggetSalarioAtual(){returnsalarioAtual;}publicvoidsetSalarioAtual(LongsalarioAtual){this.salarioAtual=salarioAtual;}publicLonggetSalarioMinimo(){returnsalarioMinimo;}publicvoidsetSalarioMinimo(LongsalarioMinimo){this.salarioMinimo=salarioMinimo;}publicLonggetSalarioMaximo(){returnsalarioMaximo;}publicvoidsetSalarioMaximo(LongsalarioMaximo){this.salarioMaximo=salarioMaximo;}publicStringgetSexo(){returnsexo;}publicvoidsetSexo(Stringsexo){this.sexo=sexo;}publicStringvalidacao(Stringsex)throwsException{try{if(sex.trim().equals("M")){this.setSalarioMinimo(newLong(380));this.setSalarioMaximo(newLong(400));}else{this.setSalarioMinimo(newLong(380));this.setSalarioMaximo(newLong(390));}return(null);}catch(Exceptione){thrownewException(e);}}publicvoidvalidate(FacesContextarg0,UIComponentarg1,Objectvalue)throwsValidatorException{if(value<this.salarioMinimo&&value>this.salarioMaximo){FacesMessagemessage=newFacesMessage("*Valor especificado não está entre os esperados para o sexo masculino R${0} a R${0}");thrownewValidatorException(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
tiagotmr
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?
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.
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…
na verdade não retorno esses valores… shó criei essas variaveis pra fazer a comparação;