Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
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.
Âncora | ||||
---|---|---|---|---|
|
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 texto, numérico ou inteiro. |
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 texto, numérico ou inteiro. |
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 texto, numérico ou inteiro. |
CPF | 999.999.999-99;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 texto. |
CNPJ | 99.999.999/9999-99;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 texto. |
CEP | 99999-999;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 texto. |
Telefone com DDD | (99) 9999-9999;0 | 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 texto ou telefone. |
Data | DD/MM/YYYY | 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 data e texto. |
Data e Hora | DD/MM/YYYY HH: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 data e horae texto. |
Informações |
---|
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. |
Exemplos
Máscara | Tipo | Entrada | Resultado |
---|---|---|---|
#.##0,00;0 | Texto | 123456 | 1.234,56 |
#.##0,00;0 | Numérico | 123456789 | 1.234.567,89 |
0;0 | Texto | 123456 | 1 |
0;0 | Numérico | 123456 | 123456 |
DD/MM/YYYY HH:mm:ss | Data e Hora | 12/08/2021 03:45:23 | 12/08/2021 03:45:23 |
MMMM | Data e Hora | 12/08/2021 03:45:23 | Agosto |
HH:mm | Data e Hora | 12/08/2021 03:45:23 | 03:45 |
R$ #.##0,00;0 | Numérico | 123456 | R$ 1.234,56 |
#.##0,00;0 | Numérico | 123456789 (idioma US) | 1,234.56 |
#.##0,00;0 | Texto | 123456789 (idioma US) | 1.234,56 |
MMMM | Data e Hora | 08/12/2021 03:45:23 (idioma US) | August |
0;0 | Numérico | ABC123 | 123 |
0;0 | Texto | ABC123 | 1 |
#.##0,00;0 | Texto | 123456789 | 1.234,56 |
Estrutura de uma máscara
As máscaras que podem ser aplicadas aos campos são divididas, em sua grande maioria, em duas seções:
<seção1>;<seção2>
<seção1>: A máscara propriamente dita. Esta máscara é composta por caracteres especiais, também conhecidos como caracteres de controle, utilizados para formatar os dados a serem inseridos num determinado campo.
Ex: 0,00;0
<seção2>: Valor que define se a máscara aplicada aos dados do campo será armazenada no banco de dados. Para que os dados não sejam armazenados com a máscara, utiliza-se o valor zero (0) após o caractere ponto e vírgula (;); para que sejam armazenados com a máscara, utiliza-se o valor um (1).
Ex: 0,00;0
Valores numéricos
Caracteres utilizados na elaboração de máscaras para valores numéricos.
Caractere | Descrição |
---|---|
0 ou 9 | Aceita apenas números (dígito). |
# | Aceita apenas números (dígito). |
Ponto (.) | Utilizado como separador/agregador de dígitos. Ao renderizar o valor final, o Cronapp vai usar o caractere de milhar correspondente ao idioma da aplicação. |
Vírgula (,) | Utilizado como separador para o(s) dígito(s) que representa(m) a parte decimal de um número. Ao renderizar o valor final, o Cronapp vai usar o caractere de separação decimal correspondente ao idioma da aplicação. |
Ponto e vírgula (;) | Separa as duas seções da máscara. |
Qualquer outro caractere | Qualquer outro caractere inserido irá aparecer no campo de entrada de texto na mesma posição definida na máscara. Exemplo: R$ #.##0,00;0 que resulta em valores como R$ 234.677,98 |
Observação: diferente das máscaras textuais, as numéricas não limitam a quantidade de números antes da vírgula (parte inteira). Para limitar, use o tipo texto. O uso do tipo do campo como texto não determina que o tipo de dados é texto e sim que o tipo de máscara usada será a textual e o conteúdo continuará sendo numérico, caso ele seja associado a um atributo número do datasource.
Exemplo: para a máscara #.##0,00;0.
- Se o tipo for numérico, valores como 923.535.342,98 - 9,90 - 3.343,56 são aceitos ou formatados.
- Se o tipo for texto, apenas o uso restrito de caracteres informados será aceito.
- Ex: 3.343,56 - 9.987,98.
Datas e/ou horas
Caracteres utilizados na elaboração de máscaras para datas e/ou horas.
Caractere | Descrição |
---|---|
D | Aceita valores numéricos inteiros referentes ao dia da data. |
M | Aceita valores numéricos inteiros referentes ao mês da data. |
Y | Aceita valores numéricos inteiros referentes ao ano da data. |
H | Aceita valores numéricos inteiros referentes à hora. |
m | Aceita valores numéricos inteiros referentes ao minuto. |
s | Aceita valores numéricos inteiros referentes ao segundo. |
Barra (/) | Utilizado como separador de dia, mês e ano ou valores numéricos em geral. |
Nota |
---|
Campos de entrada contendo máscaras para valores do tipo data e/ou hora devem ter, além da máscara preenchida, a propriedade Tipo definida de acordo com máscara. Esse Tipo permite a utilização do componente de calendário para seleção de uma data. Exemplo: Para a máscara: DD/MM/YYYY o tipo definido para o campo deve ser Data. |
Valores alfanuméricos
Caracteres utilizados na elaboração de máscaras para valores alfanuméricos.
Caractere | Descrição |
---|---|
A | Caracteres alfanuméricos (A-Z, a-z, 0-9). |
S | Caracteres alfabéticos (A-Z,a-z). |
Qualquer outro caractere | Qualquer outro caractere inserido irá aparecer no campo de entrada de texto na mesma posição definida na máscara. Exemplo: PL-AA000 que resulta em valores como PL-qe342 |
Combinação de caracteres
É possível elaborar e combinar caracteres para que as máscaras apresentem outras visualizações ao inserir os dados nos campos.
Representação de data
Caracteres utilizados para elaboração de máscaras a serem aplicadas na representação de data.
Entrada | Exemplo | Descrição | Resultado na máscara |
---|---|---|---|
D DD | 1...31 | Representa de forma numérica o dia do mês com um ou dois dígitos. Caso apenas um caractere D seja usado na máscara, os números entre 1...9 são representados apenas com um dígito. Caso seja utilizado dois caracteres DD, os números entre 1...9 são representados com dois dígitos. Ex.:04 | D/MM/YYYY - 1/12/2018 |
DDD DDDD | 1...365 | Representa de forma numérica o dia do ano. Caso apenas três caracteres DDD sejam usados na máscara, os números serão representados com sua respectiva quantidade de dígitos. Caso sejam utilizados quatro caracteres DDDD, qualquer número definido terá pelo menos três dígitos. Ex.: Utilizando o padrão DDDD para a data 4/11/2018, a exibição será: 004/11/2018. | DDD/MM/YYYY - 261/09/2018 |
Do | 1º...31º | Representa de forma numérica e ordinal o dia do mês. | Do/MM/YYYY - 14º/04/2018 |
M MM | 1...12 | Representa de forma numérica os meses do ano com um ou dois dígitos. Caso apenas um caractere M seja usado na máscara, os números entre 1...9 são representados apenas com um dígito. Caso seja utilizado dois caracteres MM, os números entre 1...9 são representados com dois dígitos. Ex.:04 | DD/MM/YY - 01/08/18 |
MMM MMMM | Jan...Dezembro | Exibe o nome do mês abreviado com 3 letras (MMM) ou de forma completa (MMMM). Ex.: DD/MMMM/YYYY- 11/December/2017 | DD/MMM/YY - 21/Jun/2018 |
Mo | 1º...12º | Representa de forma numérica e ordinal o mês referente a data. | DD/Mo/YYYY - 14/4º/2018 |
Q | 1...4 | Exibe o trimestre do ano referente a data escolhida. | DD/MM/YY Q - 13/07/18 3 |
YY | 18 | Ano com dois dígitos. | DD/MM/YY - 06/10/18 |
YYYY | 2018 | Ano com quatro dígitos. | D/MM/YYYY - 1/09/2018 |
Representação de horário
Caracteres utilizados para elaboração de máscaras a serem aplicadas na representação de horário.
Entrada | Exemplo | Descrição | Resultado na máscara |
---|---|---|---|
H HH | 0...23 | Convenção de hora adotada onde o dia é dividido em 24 horas(24h) iniciando a partir da hora zero(0). Caso apenas um caractere H seja usado na máscara, os números entre 1...9 são representados apenas com um dígito. Caso seja utilizado dois caracteres HH, os números entre 1...9 são representados com dois dígitos. Ex.:04 | HH:mm:ss - 09:08:06 |
h hh | 1...12 | Convenção de hora adotada onde o dia é divido em dois períodos de 12 horas cada, ante meridiem (a.m.) e post meridiem (p.m.) (usados em conjunto da entrada a A). Caso apenas um caractere h seja usado na máscara, os números entre 1...9 são representados apenas com um dígito. Caso seja utilizado dois caracteres hh, os números entre 1...9 são representados com dois dígitos. Ex.:04 | hh:mm:ss a - 04:09:19 am |
a A | am pm | Ante meridiem (a.m.) e post meridiem (p.m.). | hh:mm:ss a- 04:09:19 pm |
m mm | 0...59 | Representação de minuto. Caso apenas um caractere m seja usado na máscara, os números entre 1...9 são representados apenas com um dígito. Caso seja utilizado dois caracteres mm, os números entre 1...9 são representados com dois dígitos. Ex.:04 | h:mm:ss- 8:31:19 |
s ss | 0...59 | Representação de segundo. Caso apenas um caractere s seja usado na máscara, os números entre 1...9 são representados apenas com um dígito. Caso seja utilizado dois caracteres ss, os números entre 1...9 são representados com dois dígitos. Ex.:04 | h:mm:ss- 8:31:19 |
Onde utilizar as máscaras da camada cliente
O formato de máscara da camada Cliente está presente em quase tudo no Cronapp, entre elas estão os Formulários, Blocos Cliente, e Classes do diagrama. Abaixo segue alguns exemplos de como você irá visualizar a máscara em alguns desses locais.
Editor de view
Nos formulários web e mobile, utilize a propriedade Tipo para definir a forma como o usuário irá interagir com o campo e a propriedade Máscara para determinar como o conteúdo será formatado.
Figura 2 - Inserindo a máscara direto na propriedade de um componente
É possível inserir um conteúdo já com máscara em um componente visual. Ao clicar no botão que abre a janela Conteúdo, os campos Tipo e Máscara estará disponível em todas as abas. O campo Máscara também permite que você personalize sua própria máscara.
Figura 3 - Alimentando um campo com o retorno do bloco de programação já com máscara
A máscara irá determinar o padrão da janela de escolha rápida de datas, horas, meses, semanas, dias etc. Além das disponibilizadas pela IDE, é possível inserir manualmente nos campos máscara.
Máscara | Exemplo | OBS |
---|---|---|
DD/MM/YYYY | 15/04/2021 | sobe um seletor apenas de data |
MM | **/04/** | sobe um seletor de mês em texto e exibe o mês em número (Figura 3.1) |
MMMM, MMM | Abril | sobe um seletor de mês em texto e exibe o mês também em texto |
DD/MM/YYYY HH:mm:ss | 15/04/2021 16:48:15 | sobe um seletor com data e hora |
DD/MM/YYYY HH:mm:ss A | 15/04/2021 16:48:15 PM | sobe um seletor com data e hora com seleção e AM e PM |
HH:mm:ss | 16:48:15 | sobe um seletor com hora, minuto e segundo |
HH:mm | 16:48 | sobe um seletor com hora e minuto (Figura 3.2) |
dddd | Segunda | sobe um seletor de data, mas exibe apenas o nome do dia da semana no campo |
Figura 3.1 - Utilizando a máscara MM e o seu comportamento no browser
Figura 3.2 - Utilizando a máscara HH:mm e o seu comportamento no browser
Diagrama de dados
As máscaras de um atributo em uma classe do Diagrama de dados possui o mesmo formato de máscaras do tipo cliente. Abaixo segue uma imagem mostrando alguns exemplos de máscaras que podem ser selecionadas, acesse o tópico Máscaras para mais detalhes sobre cada opção.
Figura 3.3 - Selecionando máscara em uma classe
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 Cliente, observe que no parâmetro Formato, inserimos a máscara "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 na figura 4.1.
Figura 4 - Configurando a máscara através do bloco Formatar data Cliente
Figura 4.1 - Configurando a máscara através do bloco Formatar data Cliente
Nesta página
Índice | ||||
---|---|---|---|---|
|
Conteúdo complementar