![]() |
|
||||
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Você está aqui:
JSF - Java Server Faces :::
JSF Validation Controls (Controles de Validação) ::: |
Validando uma faixa de valores de ponto-flutuante usando o controle <f:validateDoubleRange>Quantidade de visualizações: 7996 vezes |
O controle <f:validateDoubleRange>, uma instância da classe LongRangeValidator (no pacote javax.faces.validator) é usado quando queremos verificar se um valor do tipo double, ou seja, um valor com ponto decimal, está dentro de uma determinada faixa. Desta forma, podemos especificar um valor mínimo e um valor máximo e o controle se encarregará de fazer esta verificação. Antes, é importante estar ciente que, se tivermos um campo <h:inputText> ligado à uma propriedade do tipo double de um bean, o JSF espera um valor de ponto-flutuante usando-se o ponto "." como separador. Se usarmos vírgula, o formulário não será enviado e teremos uma mensagem do tipo: j_idt8:preco: '45,3' must be a number consisting of one or more digits. Se o valor for informado como 45.3 o problema é resolvido. Em minhas outras dicas sobre JSF você encontrará formas de resolver esta limitação, uma vez que os usuários brasileiros estão acostumados a informar valores de ponto-flutuante como "45,90" e não "45.90". Mas, continuando com o controle <f:validateDoubleRange> nós vamos ver como é possível garantir que o valor digitado em um campo de texto esteja na faixa de 0.0 à 100.00. Veja o código para um página JSP contendo uma caixa de texto <h:inputText> e um controle <f:validateDoubleRange>: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>Produtos</title> </h:head> <h:body> <h4>Cadastro de Produtos</h4> ...... Ao executarmos a aplicação e informarmos valores tais como -34 ou 120.50 teremos a seguinte mensagem: j_idt8:preco: Validation Error: Specified attribute is not between the expected values of 0 and 100. É claro que esta mensagem em inglês não parece muito informativa aos nossos usuários de lingua portuguesa. Assim, basta fornecer o texto da mensagem personalizada para a propriedade validatorMessage do controle <h:inputText>. Veja: <h:inputText size ="40" id="preco" value="#{produto.preco}" validatorMessage="O valor não está dentro da faixa permitida"> ...... Agora, se o valor estiver fora da faixa informada, a seguinte mensagem será exibida: O valor não está dentro da faixa permitida É possível omitir uma das propriedades do controle de validação <f:validateDoubleRange>. Pode haver situações nas quais queremos validar apenas a faixa inferior ou superior. Veja como podemos, por exemplo, informar apenas a faixa inferior do preço de um produto: <h:inputText size ="40" id="preco" value="#{produto.preco}" validatorMessage="O valor não está dentro da faixa permitida"> ...... |
![]() |
Veja mais Dicas e truques de JSF - Java Server Faces |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |