Campos

Os campos permitem categorizar dados em modelos. Por exemplo, um modelo Employee pode ter um campo FirstName para armazenar os nomes das pessoas.

Os campos são colunas em uma tabela. Os registros são as linhas. Os dados são armazenados nos campos em cada registro. Por exemplo, no quarto registro, o campo FirstName pode conter Bob.

É possível colocar dados em campos com scripts de servidor, scripts de cliente e vinculações.

A entrada dos scripts precisa corresponder ao tipo do campo. Verifique se o tipo de dados está correto no script ou use um transformador de vinculação na expressão de vinculação para converter os dados para o tipo correto. Quando possível, o App Maker converte automaticamente a entrada da interface do usuário de um aplicativo para o tipo apropriado.

Criar campos

Ao criar um campo, você atribui a ele um tipo que determina o tipo de dados que ele contém. Por exemplo, um campo "String" contém strings de caracteres, como nomes ou endereços de e-mail, enquanto um campo "Number" contém números.

É possível criar:

  • Campos simples: os campos simples podem conter no máximo um valor. A maioria dos campos no seu aplicativo provavelmente são campos simples. Todo campo de cada registro contém um único valor ou nada (null). Por exemplo, o campo JobTitle em um registro específico pode conter:

    Software Engineer

    É possível classificar registros pelos dados em campos simples. Os rótulos usados como cabeçalhos de coluna no widget de Tabela têm ações onClick predefinidas que classificam a tabela. Por exemplo:

    window._am.sortTableBy(widget.datasource,
            widget.datasource.model.fields.LastName,
            widget, window._am.TableState);
  • Campos de lista: os campos de lista podem conter mais de um valor. O App Maker armazena os valores em campos de lista como matrizes.

    Cada campo de lista em cada registro contém nada (uma matriz vazia, [], e não null), um valor único ou vários valores. Por exemplo, o campo Measurements em um registro específico pode conter:

    [0.312,1.245,1.434,1.789, 42]

    Não é possível classificar registros pelos dados nos campos de lista.

Tipos de dados para campos simples

Tipo Descrição Exemplo
String String de caracteres Unicode Campo: FirstName

Conteúdo: Susan

Number Número de ponto flutuante de 64 bits Campo: EmployeeID

Conteúdo: 13465

Boolean true ou false Campo: IsActive

Conteúdo: true

Date Objeto de data Campo: HireDate

Conteúdo: 2015-09-28

Tipos de dados para campos de lista

Tipo Descrição Exemplo
List<String> Lista de strings Campo: FoodAllergies

Matriz: ["pecans","walnuts","shrimp"]

List<Number> Lista de números Campo: MRITesla

Matriz: [1.2,1.5,3,7]

List<Boolean> Lista de valores booleanos Campo: Answers

Matriz: [true,false,false,true]

List<Date> Lista de datas Campo: ReviewDate

Matriz: [2014-07-12,2015-07-15]

Definir propriedades de campo

É possível definir as propriedades do campo na guia "Campos" de cada modelo.

Nome Descrição
Tipo O tipo de dados que seu campo armazena: String, Number, Boolean ou Date para campos simples, ou List<String>, List<Number>, List<Boolean> ou List<Date> para campos de lista. O tipo de campo não é editável. Para alterar o tipo de campo, exclua e recrie o campo.
Nome Um rótulo exclusivo usado para acessar o campo. Ele pode conter apenas caracteres alfanuméricos e sublinhados e precisa começar com uma letra.
Tipo de SQL (Somente para o Google Cloud SQL) O tipo de SQL subjacente usado para armazenar os dados do campo.
Nome de exibição Um nome legível para o campo. Não precisa ser exclusivo e pode incluir espaços e caracteres especiais.
Descrição Um lugar para descrever o campo. Usado apenas para referência.
Usar um valor padrão Se selecionado, será possível especificar um valor padrão a ser usado quando um aplicativo cria um registro.

Usar valores padrão

Por padrão, o App Maker usa null como valor padrão para todos os campos simples, exceto booleanos, que tem o padrão false. Para campos de lista, o App Maker usa uma matriz vazia como o valor padrão.

Marque o campo "Usar um valor padrão" para definir seu próprio valor padrão. Isso pode ser útil para campos obrigatórios, que não aceitam null, e para qualquer campo que tenha um estado padrão natural. Por exemplo, um modelo Employee com um campo Status pode ser definido por padrão como Active, porque cada novo registro provavelmente representa um novo funcionário ativo.

O App Maker usa valores padrão como valores iniciais nos seguintes casos:

  • Um registro de rascunho de uma origem de dados
  • Um registro criado em uma origem de dados que usa o modo de salvamento manual
  • Um registro criado no servidor usando newRecord()
  • Um registro importado de uma planilha do Google ou de um arquivo CSV em que o valor do campo não está especificado

Validar dados

Use restrições de validação de dados para campos para restringir os dados que um campo aceita. Por exemplo, é possível garantir que um campo ZipCode tenha um valor de cinco dígitos ou que um campo Name tenha pelo menos dois caracteres. As restrições disponíveis variam de acordo com o tipo de campo.

Para campos de lista, se algum critério de validação for definido, todos os itens em uma lista precisarão atender aos critérios de validação. Por exemplo, 2,3,5,3.235 fará com que a validação de número inteiro falhe, porque 3.235 não é um número inteiro.

Nome Tipo Descrição
Obrigatório Todos Se selecionado, os registros não serão salvos quando o campo for nulo, indefinido ou uma matriz com elementos nulos (para campos de lista).
Comprimento mínimo e Comprimento máximo String Os comprimentos de caracteres mínimo e máximo para o campo.
Valores possíveis String, Number, Date Uma lista que determina as entradas aceitas pelo campo.
Expressão regular String Um conjunto de condições que uma string precisa satisfazer para um registro que contenha um campo com esse valor a ser salvo.

Saiba mais sobre expressões regulares.

Mensagem de erro de expressão regular String A mensagem de erro que o aplicativo exibe quando a entrada não corresponde à expressão regular especificada.
Valor mínimo e Valor máximo Number, Date

Os valores mínimo e máximo do campo.

Os valores para datas são sempre validados em relação ao UTC, mesmo quando um widget é configurado para usar o fuso horário do navegador.

Número inteiro Number Se selecionado, os registros não serão salvos se o número do campo contiver casas decimais significativas. Os números 4., 4.0, 0., .0 e 0.0 são números inteiros, como seria de esperar. Embora o número 1.0000000000000001 não seja um número inteiro, o App Maker o considera um número inteiro, porque o número após o ponto decimal não é significativo.
SQLtype Date

Apenas para modelos do Cloud SQL. Controla como o App Maker lida com fusos horários:

  • TIMESTAMP: inclui um fuso horário. O App Maker converte a hora para PT (UTC-7 ou UTC-8) antes de gravá-la no banco de dados.
  • DATE e DATETIME: não inclui informações de fuso horário. O App Maker lê e grava dados como PT (UTC-7 ou UTC-8).

Criar registros com campos obrigatórios

O App Maker gera um erro quando você tenta criar um registro com um campo obrigatório null, indefinido ou uma matriz com elementos nulos para um campo de lista. Para evitar esses erros, é possível:

  • Atribuir um valor padrão: esta é a solução mais simples. Um valor padrão garante que um campo tenha um valor na criação, o que evita erros na validação.
  • (Lado do servidor) Usar um registro de rascunho: o método newRecord() permite definir os campos obrigatórios antes de salvar um registro no modelo.
  • (Lado do cliente) Usar um registro de rascunho: as origens de dados no modo de salvamento automático têm um registro draft em que os scripts e as vinculações de dados podem inserir valores antes de criar registros.
  • (Lado do cliente) Usar uma origem de dados no modo de salvamento manual: no modo de salvamento manual, os usuários ou scripts podem preencher os campos obrigatórios antes de salvar um registro para evitar erros de validação.

Inserir e retirar dados dos campos de lista

É possível inserir e retirar dados dos campos de lista das seguintes formas:

  • Usando scripts de servidor ou cliente: os scripts podem ler e gravar os itens em uma matriz de campo de lista.
  • Usando widgets: widgets e expressões de vinculação específicos funcionam com campos de lista.
  • Usando importação e exportação: o App Maker pode importar e exportar registros que contêm campos de lista.

Sintaxe para vírgulas e aspas

Na interface do usuário de um aplicativo e nas planilhas do Google destinadas a operações de importação ou resultantes de operações de exportação, o conteúdo dos campos de lista são listas separadas por vírgulas. Exemplo:

capable truck,magnificent truck,best truck
    

Itens em um campo de lista de strings podem conter vírgulas. Para distinguir as vírgulas de conteúdo das vírgulas separadoras, uma sintaxe especial é usada para a interface do usuário e outra diferente é usada para importação e exportação. Neste último caso, uma sintaxe especial também é usada para aspas duplas.

Aspecto Sintaxe da IU Sintaxe de importação e exportação
Vírgula no conteúdo Use \, (barra invertida e vírgula) Coloque o item da lista entre aspas duplas
Aspas duplas no conteúdo Nenhuma sintaxe especial Coloque o item da lista entre aspas duplas e duplique as aspas no conteúdo (" torna-se "").

Nenhuma sintaxe especial é necessária para aspas simples. Se um item contiver uma vírgula e uma ou mais aspas duplas, coloque o item entre apenas um par de aspas duplas.

Espaços iniciais e finais em um item são eliminados quando os dados são salvos.

Exemplos
Sintaxe da IU Sintaxe de importação e exportação
cavalo,cachorro,gato cavalo,cachorro,gato
cavalo,cachorro\,gato cavalo,"cachorro,gato"
cavalo,um "lindo" cachorro,gato cavalo,"um ""lindo"" cachorro",gato
cavalo,um "lindo\, estranho\," exótico cachorro, gato cavalo,"um ""lindo, estranho,"" exótico cachorro",gato