- Created by Wesley Miranda de Oliveira, last modified by Igor Andrade on 09/10/2023
O uso de máscaras tem o objetivo de garantir que os dados inseridos estejam no formato correto. Normalmente, não há validação dos dados, apenas uma adequação em relação ao formato destes, garantindo que cada caractere do valor seja inserido nos lugares definido pela máscara.
A configuração das máscaras do lado servidor e cliente da aplicação são diferentes. Em geral, quando queremos apresentar um dado mascarado para o usuário em uma view (formulário), usamos as máscaras clientes, e para isso, o Cronapp possui diversos recursos que auxiliam essa configuração, veja mais detalhes em Formatação de máscaras na camada cliente. As máscaras do lado servidor são configuráveis a partir de blocos (servidor) e normalmente são utilizados na criação de textos, relatórios ou qualquer outro conteúdo tratado no lado servidor da aplicação.
Na figura abaixo foram inseridos um valor e uma máscara no bloco Formatar Número, o resultado pode ser visto no Console do Depurador.
Figura 1 - Exemplo de uso de máscaras
Máscaras
Para outros detalhes sobre a utilização das máscaras na camada servidor, acesse a documentação oficial Java Customizing Formats.
Tipo | Máscara | Função |
---|---|---|
Monetário | ###,###.### | O sinal de cerquilha (#) denota um dígito, a vírgula é um espaço reservado para o separador de milhar e o ponto é um espaço reservado para o separador centavos. Para que o valor desejado apareça depois da vírgula (centavos), é necessário que na entrada ele esteja depois de um ponto, como por exemplo: 350230.67 Exemplo: 350.230,67 |
Monetário com moeda | ¤###,###.### | O sinal de cerquilha (#) denota um dígito, a vírgula é um espaço reservado para o separador de milhar e o ponto é um espaço reservado para o separador centavos, O sinal (¤) será substituído pelo símbolo da moeda local, se usado 2 juntos, será utilizado a moeda internacional (dolar). Para que o valor desejado apareça depois da vírgula (centavos), é necessário que na entrada ele esteja depois de um ponto, como por exemplo: 350230.67 Exemplo: R$350.230,67 |
Data | dd.MM.aa | O usuário poderá digitar uma sequência máxima de 8 caracteres numéricos para: DD (representa os dois dígitos do dia), MM (representa os dois dígitos do mês) e YYYY (representa os 4 dígitos do ano). Exemplo: 06/10/2017 |
Data e Hora | dd.MM.yy H:mm:ss | O usuário poderá digitar uma sequência máxima de 8 caracteres numéricos para: DD (representa os dois dígitos do dia), MM (representa os dois dígitos do mês) e YYYY (representa os 4 dígitos do ano). Para a representação da hora com dois dígitos é usado os caracteres (HH) separados por dois pontos (:) da representação de minuto (mm) e segundo (ss). Exemplo: 01/10/18 15:55:40 |
Para formatação de CPF ou CNPJ, é recomendado utilizar a camada cliente.
Símbolo e separadores
Dentro dos subpadrões, você especifica a formatação com símbolos especiais. Esses símbolos são descritos na tabela a seguir:
Símbolo | Descrição |
---|---|
0 | um dígito |
# | um dígito, zero mostra como ausente |
. | espaço reservado para separador decimal |
, | marcador de posição para separador de agrupamento |
E | separa mantissa e expoente para formatos exponenciais |
; | separa formatos |
- | prefixo negativo padrão |
% | multiplique por 100 e mostre como porcentagem |
? | multiplique por 1000 e mostre por mil. |
¤ | sinal de moeda; substituído pelo símbolo da moeda; se duplicado, substituído por símbolo de moeda internacional; se presente em um padrão, o separador decimal monetário é usado em vez do separador decimal |
X | quaisquer outros caracteres podem ser usados no prefixo ou sufixo |
' | usado para citar caracteres especiais em um prefixo ou sufixo |
Datas e/ou horas
Sintaxe do padrão de formato de data.
Para outros detalhes sobre a utilização das máscaras na camada servidor, acesse a documentação oficial Java Customizing Formats Dates and Times.
Símbolo | Significado | Exemplo |
---|---|---|
G | designador de era | AD |
y | ano | 2009 |
M | mês no ano | Julho e 07 |
d | dia do mês | 10 |
h | hora em am / pm (1-12) | 12 |
H | hora do dia (0-23) | 0 |
m | minuto em hora | 30 |
s | segundo em minuto | 55 |
S | milissegundo | 978 |
E | dia da semana | terça |
D | dia no ano | 189 |
F | dia da semana no mês | 2 (2ª quarta de julho) |
w | semana no ano | 27 |
W | semana no mês | 2 |
a | marcador am / pm | PM |
k | hora do dia (1-24) | 24 |
K | hora em am / pm (0-11) | 0 |
z | fuso horário | Horário padrão do Pacífico |
' | escape para texto | (Nenhum) |
Exemplos de máscaras no Servidor:
Entrada | Exemplo |
---|---|
dd-MM-yy | 31-01-12 |
dd-MM-yyyy | 31-01-2012 |
MM-dd-yyyy | 01-31-2012 |
yyyy-MM-dd | 2012-01-31 |
yyyy-MM-dd HH:mm:ss | 2012-01-31 23:59:59 |
yyyy-MM-dd HH:mm:ss.SSS | 2012-01-31 23:59:59.999 |
yyyy-MM-dd HH:mm:ss.SSSZ | 2012-01-31 23:59:59.999+0100 |
EEEEE MMMMM yyyy HH:mm:ss.SSSZ | Saturday November 2012 10:45:42.720+0100 |
dd/MM/yyyy | 31/01/2012 |
dd/MM/yyyy HH:mm:ss | 31/01/2012 23:59:59 |
Blocos de programação
O bloco de programação fornece algumas funções para tratamento de datas. Algumas das mais importantes são:
- Formatar número: formata o número de acordo com a máscara do tipo servidor.
- Formatar número com localidade: formata o número de acordo com a máscara do tipo servidor, podendo configurar o retorno para os padrões PT-BR.
- Obter valor do campo: obtém o valor de qualquer campo da tela cliente no servidor.
- Obter campo (Banco de Dados): essa função obtém o campo do banco de dados que sempre estará no fuso especificado para a aplicação.
- Exibir Notificação: essa função bem comum merece uma observação importante, ao exibir uma data. Caso você não formate a data, ela será exibida no fuso horário do cliente.
- Imprimir: imprime no console do depurador os números já formatados.
- Converter Texto para Data: essa função converterá um texto (representação textual de uma data) para um objeto data. Caso uma máscara seja informada, ela a usará para tentar fazer a conversão, caso contrário, algumas máscaras predefinidas serão usadas - levando em consideração o idioma do cliente. Caso o formato textual não considere o fuso na sua escrita (ex.: 12/03/1910), o fuso padrão do servidor será usado. Caso o fuso tenha sido especificado (ex.: 2019-09-22T02:30Z), ele será usado.
- Converter Texto para Data com Fuso Horário: tem o mesmo comportamento da função acima, porém, quando o fuso não está discriminado, ele usa o especificado pelo parâmetro de fuso da função.
- Formatar Data: formata uma data a partir da máscara e do idioma selecionado.
- Formatar Data com Fuso Horário: formata uma data a partir do fuso horário, máscara e do idioma selecionado.
Exemplos
Máscara com data
Abaixo, na figura 2, segue um exemplo do uso da máscara na camada Servidor, observe que no parâmetro Máscara inserimos o formato "MM-dd-yyyy"
, onde "MM
" é o mês em 2 dígitos, "dd
" é o dia em 2 dígitos e "yyyy
" é o ano em 4 dígitos, verifique o resultado impresso no Console do Depurador.
Figura 2 - Configurando a máscara através do bloco Formatar data Servidor
Máscara com moedas
Na função abaixo, o bloco Formatar Número com Localidade recebe um valor (em Conteúdo) e mais 3 argumentos Máscara, Língua e País, é retornado no console o valor monetário do mesmo.
Figura 3 - Exemplo monetário
Nesta página
Conteúdo complementar
- No labels