- Criado por Wesley Miranda de Oliveira, última alteração em 19/04/2021
Você está vendo a versão antiga da página. Ver a versão atual.
Comparar com o atual Ver Histórico da Página
« Anterior Versão 8 Próxima »
Função
As máscaras em campos de formulários funcionam como guias para ajudar os usuários durante a inserção de dados. Essas máscaras têm o objetivo de garantir que os dados inseridos nos campos estejam no formato correto. Normalmente, não há validação dos dados, apenas uma adequação em relação ao formato destes, garantindo que os tipos corretos de caracteres sejam inseridos nos lugares certos. Os usos mais típicos são para datas, horários, números de CPF, números de telefone, moedas, entre outros. Durante a inserção dos dados não formatados pelo usuário, a máscara cuida de adicionar traços e outros separadores em locais apropriados.
Enquanto os dados são inseridos no campo, as máscaras vão adequando o texto na formatação correta. Na figura abaixo foram utilizados os padrões de máscaras do Cronapp, porém é possível criar sua própria máscara seguindo as configurações seguidas nesse texto.
Figura 1 - Exemplo de componentes utilizando máscaras
Além das máscaras, outros fatores podem influenciar em como serão visualizados os campos que utilizam valores de tipo Data e Hora. Para mais detalhes, acesse a documentação Entendendo o funcionamento dos tipos data e hora.
Máscaras
Tipo | Máscara | Função | Compatibilidade |
---|---|---|---|
Monetário | #.##0,00;0 | O usuário poderá digitar uma sequência máxima de seis caracteres numéricos onde o primeiro caractere, que representa a casa de milhar do número, é separado dos três seguintes, que representam a centena, pelo caractere de controle ponto(.). Por sua vez, esses três valores são separados dos dois últimos, que representam a porção decimal, por vírgula (,). Exemplo: 9.999,99 | Essa máscara funciona quando o campo é do tipo text, number ou integer. |
Monetário | 0,00;0 | O usuário poderá digitar uma sequência máxima de três caracteres numéricos onde o primeiro caractere, que representa a parte inteira do número, é separado dos outros dois, que representam a parte decimal, pelo caractere de controle vírgula (,). Exemplo: 1,23
| Essa máscara funciona quando o campo é do tipo text, number ou integer. |
Monetário | 0;0 | O usuário poderá digitar o máximo de um caractere numérico inteiro. Exemplo: 2
| Essa máscara funciona quando o campo é do tipo text, number ou integer. |
CPF | ###.###.###-##;0 | O usuário poderá digitar uma sequência máxima de onze caracteres numéricos onde os primeiros 9 caracteres são agrupados de três em três e separados, cada grupo, por ponto (.). Os últimos 2 caracteres são separados dos restantes por traço (-). Exemplo: 857.354.684-96 | Essa máscara funciona quando o campo é do tipo text. |
CNPJ | ##.###.###/####-##;0 | O usuário poderá digitar uma sequência máxima de quatorze caracteres numéricos onde os dois primeiros caracteres são separados por ponto(.). Os seis caracteres consecutivos são agrupados de três em três e separados por ponto (.) entre si. Os quatro caracteres seguintes são separados dos anteriores por barra (/) e os dois finais por traço (-). Exemplo: 78.425.986/0036-15 | Essa máscara funciona quando o campo é do tipo text. |
CEP | #####-###;0 | O usuário poderá digitar uma sequência máxima de oito caracteres numéricos onde os cinco primeiros caracteres são separados dos três últimos por traço (-). Exemplo: 41815-135 | Essa máscara funciona quando o campo é do tipo text. |
Telefone com DDD | (00) 0000-0000 | O usuário poderá digitar uma sequência máxima de dez caracteres numéricos onde os dois primeiros caracteres são separados dos demais por espaço ( ) e contidos entre parênteses. Os oito caracteres restantes são agrupados de quatro em quatro e separados entre si por traço (-). Exemplo: (71) 3450-1440 | Essa máscara funciona quando o campo é do tipo text ou tel. |
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 | Essa máscara funciona quando o campo é do tipo date. |
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/2018 15:55:40 | Essa máscara funciona quando o campo é do tipo date and time. |
Caso o usuário decida por não utilizar máscaras e opte por definir apenas a propriedade Tipo do componente, as máscaras aplicadas terão como base o idioma padrão sendo utilizado no navegador.
Datas e/ou horas
Sintaxe do padrão de formato de data
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) |
Blocos de programação
O bloco de programação fornece algumas funções para tratamento de datas. Algumas das mais importantes são:
- Obter valor do campo: obtém o valor de qualquer campo da tela cliente no servidor. Todos os campos data e hora trafegam entre o cliente e servidor no formato ISO 8601 que inclui todas as informações de data, hora com minutos, segundos, milissegundos e fuso. Ao trafegar do cliente para o servidor, ele leva as devidas conversões de fuso.
- 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: essa função bem comum merece uma observação importante, ao imprimir uma data. Caso você não formate a data, ela será exibida no formato ISO 8601 no fuso horário do servidor.
- 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 para um formato textual - ou seja, para um campo do tipo texto. Caso a máscara seja informada, ele a usará (Figura 4), caso contrário, usará o padrão de máscara do idioma escolhido pelo cliente. Ao formatar para um texto, o Cronapp irá usar o fuso especificado para a aplicação.
- Formatar Data com Fuso Horário: tem o mesmo comportamento da função acima, porém o fuso pode ser especificado através do parâmetro da função.
Exemplo
Abaixo, na figura 4, 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 digitos, "dd" é o dia em 2 dígitos e "yyyy" é o ano em 4 digitos, verifique o resultado na figura 4.1.
Figura 4 - Configurando a máscara através do bloco Formatar data Servidor
Figura 4.1 - Retorno da função apresentada na figura 4
Observação
Caso um objeto do tipo data seja enviado para qualquer função que espere um texto, ele será representado pelo formado ISO 8601 no fuso horário especificado para a aplicação, como por exemplo .
Ex: JSON enviado para um serviço REST.
Tenham atenção ao visualizar o formato ISO 8601 das datas. Datas com textos diferentes podem representar o mesmo valor, pois o fuso pode estar escrito de forma diferente:
Ex: 2019-09-22T00:00:00Z é igual a 2019-09-21T09:00:00-03:00.
Especificações 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 |
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. |
¤ | currency sign; replaced by currency symbol; if doubled, replaced by international currency symbol; if present in a pattern, the monetary decimal separator is used instead of the decimal separator |
X | any other characters can be used in the prefix or suffix |
' | used to quote special characters in a prefix or suffix |
Nesta página
Conteúdo complementar
- Sem rótulos