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: 8111 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>: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<?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>
<h:form>
Preço do Produto:<br />
<h:inputText size ="40" id="preco" value="#{produto.preco}">
<f:validateDoubleRange minimum="0.0" maximum="100.00" />
</h:inputText>
<h:commandButton id="submit" value="Gravar Dados"
action="#{produto.gravar}" />
</h:form>
</h:body>
</html>
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<h:inputText size ="40" id="preco" value="#{produto.preco}"
validatorMessage="O valor não está dentro da faixa permitida">
<f:validateDoubleRange minimum="0.0" maximum="100.00" />
</h:inputText>
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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
<h:inputText size ="40" id="preco" value="#{produto.preco}"
validatorMessage="O valor não está dentro da faixa permitida">
<f:validateDoubleRange minimum="10.0" />
</h:inputText>
|
|
|
Veja mais Dicas e truques de JSF - Java Server Faces |
Dicas e truques de outras linguagens |
|
JavaScript - Como testar se uma string termina com uma determinada substring em JavaScript usando a função endsWith() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







