Campos

Los campos te permiten clasificar los datos en modelos. Por ejemplo, un modelo de Employee podría tener un campo de FirstName para almacenar los nombres de las personas.

Los campos son columnas en una tabla. Los registros son las filas. Los datos se ubican en los campos de cada registro. Por ejemplo, en el cuarto registro, el campo de FirstName puede contener el elemento Bob.

Puedes colocar datos en campos con secuencias de comandos de servidor, secuencias de comandos de cliente y vinculaciones.

Los datos de entrada de las secuencias de comandos deben coincidir con el tipo de campo. Puedes asegurarte de que el tipo de dato es correcto en la secuencia de comandos o usar un transformador de vinculación en la expresión de vinculación para convertir los datos al tipo correcto. Cuando sea posible, App Maker convertirá los datos de entrada de la IU de una app al tipo adecuado de forma automática.

Crea campos

Cuando creas un campo, debes asignarle un tipo que determinará la clase de datos que contiene. Por ejemplo, un campo de String contiene strings de caracteres, como nombres o direcciones de correo electrónico, mientras que un campo de Número contiene números.

Puedes crear los siguientes campos:

  • Campos simples: los campos simples pueden contener solo un valor. Es probable que la mayoría de los campos en tu app sean campos simples. Cada campo en cada registro puede contener un solo valor o ninguno (null). Por ejemplo, el campo de JobTitle en un registro específico podría contener lo siguiente:

    Software Engineer

    Puedes ordenar los registros de acuerdo con los datos en campos simples. Las etiquetas que se usan como encabezados de columna en el widget Tabla tienen acciones onClick predefinidas que ordenan la tabla. Por ejemplo:

    window._am.sortTableBy(widget.datasource,
        widget.datasource.model.fields.LastName,
        widget, window._am.TableState);
  • Campos de lista: los campos de lista pueden contener más de un valor. App Maker almacena los valores en los campos de lista como arreglos.

    Cada campo de lista en cada registro puede contener un solo valor, varios o ninguno (un arreglo vacío, [], no null). Por ejemplo, el campo de Measurements en un registro específico podría contener lo siguiente:

    [0.312,1.245,1.434,1.789, 42]

    No puedes ordenar los registros de acuerdo con los datos en los campos de lista.

Tipos de datos para campos simples

Tipo Descripción Ejemplo
String String de caracteres de Unicode Campo: FirstName

Contenido: Susan

Número Número de punto flotante de 64 bits Campo: EmployeeID

Contenido: 13465

Booleano true o false Campo: IsActive

Contenido: true

Fecha Objeto de fecha Campo: HireDate

Contenido: 2015-09-28

Tipos de datos para campos de lista

Tipo Descripción Ejemplo
Lista<String> Lista de strings Campo: FoodAllergies

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

Lista<Número> Lista de números Campo: MRITesla

Arreglo: [1.2,1.5,3,7]

Lista<Booleano> Lista de valores Booleanos Campo: Answers

Arreglo: [true,false,false,true]

Lista<Fecha> Lista de fechas Campo: ReviewDate

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

Establece propiedades de campo

Puedes establecer propiedades de campo en la pestaña Campos de cada modelo.

Nombre Description
Tipo El tipo de datos que tu campo almacena: String, Número, Booleano o Fecha para campos simples y Lista<String>, Lista<Número>, Lista<Booleano> o Lista<Fecha> para los campos de lista. El tipo de campo no se puede editar. Para cambiar el tipo de campo, borra el campo y vuelve a crearlo.
Nombre Una etiqueta única que se usa para acceder al campo. Solo puede contener caracteres alfanuméricos y guiones bajos, y debe comenzar con una letra.
Tipo de SQL (Solo Google Cloud SQL) El tipo de SQL subyacente que se usa para almacenar los datos del campo.
Nombre visible Un nombre más simple para el campo. No tiene que ser único, y puede incluir espacios y caracteres especiales.
Descripción Un lugar para describir el campo. Se usa solo como referencia.
Usar un valor predeterminado Si esta opción se selecciona, puedes especificar un valor predeterminado que se usará cuando una app cree un registro.

Usa valores predeterminados

De forma predeterminada, App Maker usa null como valor predeterminado para todos los campos simples excepto los Booleanos, en cuyo caso usa false. Para los campos de lista, App Maker usa un arreglo vacío como valor predeterminado.

Si marcas la opción Usar un valor predeterminado, puedes establecer tu propio valor predeterminado. Configurar un valor predeterminado puede ser útil para los campos obligatorios, que no aceptan null, y para los campos que tienen un estado predeterminado natural. Por ejemplo, un modelo de Employee con un campo de Status podría ser Active de forma predeterminada, porque es probable que cada registro nuevo represente un empleado nuevo y activo.

App Maker usa valores predeterminados como valores iniciales en los siguientes casos:

  • Un registro en borrador de una fuente de datos
  • Un registro creado en una fuente de datos que usa el modo de guardado manual
  • Un registro creado en el servidor con newRecord()
  • Un registro importado de una Hoja de cálculo de Google o un archivo CSV para el cual no se especifica el valor de ese campo

Valida datos

Usa restricciones de validación de datos para los campos a fin de restringir los datos que un campo acepta. Por ejemplo, podrías asegurarte de que un campo de ZipCode tenga un valor de 5 dígitos o que un campo de Name tenga al menos dos caracteres. Las restricciones disponibles varían según el tipo de campo.

Para los campos de lista, si se establecen criterios de validación, todos los elementos de una lista deben satisfacerlos. Por ejemplo, 2,3,5,3.235 falla la validación de Número Entero porque 3.235 no es un número entero.

Nombre Tipo Descripción
Obligatorio Todos Si esta opción se selecciona, los registros no se guardarán cuando el campo sea nulo, no definido o un arreglo con elementos nulos (para campos de lista)
Longitud mínima y máxima String Las longitudes de caracteres mínimas y máximas para el campo
Valores posibles String, Número, Fecha Una lista que determina cuáles son los datos de entrada que acepta el campo
Expresión regular String Un conjunto de condiciones que una string debe cumplir para que un registro que contiene un campo con este valor se guarde

Obtén más información sobre las expresiones regulares

Mensaje de error de expresión regular String El mensaje de error que una app muestra cuando los datos de entrada no coinciden con la expresión regular especificada
Valor mínimo y máximo Número, Fecha

El valor mínimo y máximo para el campo

Los valores de las fechas siempre se validan con UTC, incluso cuando un widget se configura para usar la zona horaria del navegador

Número entero Número Si esta opción se selecciona, los registros no se guardarán si el número del campo contiene decimales significativos. Los números 4., 4.0, 0., .0, y 0.0 son números enteros, como se supone. El número 1.0000000000000001 no es un número entero, pero App Maker lo considera como tal, porque el número después del punto decimal no es significativo
Tipo de SQL Fecha

(Solo modelos de Cloud SQL). Controla cómo App Maker maneja las zonas horarias:

  • MARCA DE TIEMPO: incluye una zona horaria. App Maker convierte la hora en PT (UTC−7 o UTC−8) antes de escribirla en la base de datos
  • FECHA y FECHA Y HORA: no incluye información sobre la zona horaria. App Maker lee y escribe los datos como PT (UTC−7 o UTC−8)

Crea registros con campos obligatorios

App Maker muestra un error cuando intentas crear un registro con un campo obligatorio que es null o no definido, o un arreglo con elementos nulos para un campo de lista. A continuación, se muestran varias acciones que puedes realizar para evitar estos errores:

  • Asignar un valor predeterminado: es la solución más simple. Un valor predeterminado garantiza que un campo tenga un valor después de su creación y se evitan los errores de validación.
  • (Lado del servidor) Usar un registro en borrador: El método newRecord() permite definir los campos obligatorios antes de guardar un registro en tu modelo.
  • (Lado del cliente) Usar un registro en borrador: las fuentes de datos con modo de guardado automático tienen un registro en draft en el que las secuencias de comandos y las vinculaciones de datos pueden ingresar valores antes de crear registros.
  • (Lado del cliente) Usar una fuente de datos con modo de guardado manual: En el modo de guardado manual, los usuarios o las secuencias de comandos pueden rellenar los campos obligatorios antes de guardar un registro para evitar errores de validación.

Coloca datos en campos de lista y quítalos de ellos

A continuación, se muestra cómo puedes colocar datos en campos de lista y quitarlos de ellos:

  • Usa secuencias de comandos de servidor o de cliente: las secuencias de comandos pueden leer y escribir los elementos en el arreglo de un campo de lista.
  • Usa widgets: los widgets específicos y las expresiones de vinculación funcionan con los campos de lista.
  • Usa importación y exportación: App Maker puede importar y exportar registros que contienen campos de lista.

Sintaxis para comas y comillas

En la IU de una app y en las Hojas de cálculo de Google destinadas a operaciones de importación o que son producto de operaciones de exportación, el contenido de los campos de lista son listas separadas por comas. Por ejemplo:

capable truck,magnificent truck,best truck

Los elementos en un campo de lista de string pueden contener comas. Si quieres distinguir las comas de contenido de las comas separadoras, se usa una sintaxis especial para la IU y una diferente para la importación y exportación. En cuanto a la importación y exportación, también se usa una sintaxis especial para las comillas dobles.

Aspecto Sintaxis de la IU Sintaxis de importación y exportación
Coma en el contenido Usa \, (coma de barra invertida) Rodea el elemento de la lista con comillas dobles.
Comillas dobles en el contenido Sin sintaxis especial Rodea el elemento de la lista con comillas dobles y duplica las comillas en el contenido (" se convierte en "").

No se necesita una sintaxis especial para las comillas simples. Si un elemento contiene una coma y una o más comillas dobles, rodéalo con un solo conjunto de comillas dobles.

Los espacios iniciales y finales en un elemento se quitan cuando se guardan los datos.

Ejemplos
Sintaxis de la IU Sintaxis de importación y exportación
horse,dog,cat horse,dog,cat
horse,dog\,cat horse,"dog,cat"
horse,a "beautiful" dog,cat horse,"a ""beautiful"" dog",cat
horse,a "beautiful\, strange\," exotic dog, cat horse,"a ""beautiful, strange,"" exotic dog",cat