Criar um esquema JSON para um Formulário adaptável creating-adaptive-forms-using-json-schema
Pré-requisitos prerequisites
A criação de um formulário adaptável usando um Esquema JSON como seu modelo de formulário requer compreensão básica do Esquema JSON. É recomendável ler o conteúdo a seguir antes deste artigo.
Utilização de um esquema JSON como modelo de formulário using-a-json-schema-as-form-model
O Adobe Experience Manager Forms oferece suporte à criação de um Formulário adaptável usando um Esquema JSON existente como o modelo de formulário. Esse esquema JSON representa a estrutura em que os dados são produzidos ou consumidos pelo sistema de back-end em sua organização. O Esquema JSON usado deve ser compatível com especificações v4.
Os principais recursos do uso de um Esquema JSON são:
- A estrutura do JSON é exibida como uma árvore na guia Localizador de conteúdo no modo de criação de um Formulário adaptável. Você pode arrastar e adicionar elemento da hierarquia JSON ao Formulário adaptável.
- Você pode preencher previamente o formulário usando o JSON compatível com o esquema associado.
- No envio, os dados inseridos pelo usuário são enviados como JSON, que se alinha ao esquema associado.
- Você também pode criar o formulário com base no esquema JSON de acordo com as especificações da versão 2012-20.
Um Esquema JSON consiste em tipos de elementos simples e complexos. Os elementos têm atributos que adicionam regras ao elemento. Quando esses elementos e atributos são arrastados para um Formulário adaptável, eles são mapeados automaticamente para o componente de Formulário adaptável correspondente.
Esse mapeamento de elementos JSON com componentes de Formulário adaptável é o seguinte:
"birthDate": {
"type": "string",
"format": "date",
"pattern": "date{DD MMMM, YYYY}",
"aem:affKeyword": [
"DOB",
"Date of Birth"
],
"description": "Date of birth in DD MMMM, YYYY",
"aem:afProperties": {
"displayPictureClause": "date{DD MMMM, YYYY}",
"displayPatternType": "date{DD MMMM, YYYY}",
"validationPatternType": "date{DD MMMM, YYYY}",
"validatePictureClause": "date{DD MMMM, YYYY}",
"validatePictureClauseMessage": "Date must be in DD MMMM, YYYY format."
}
}
Propriedades comuns do esquema common-schema-properties
O Formulário adaptável usa as informações disponíveis no Esquema JSON para mapear cada campo gerado. Em especial:
- A propriedade
title
serve como rótulo para os componentes do Formulário adaptável. - A propriedade
description
é definida como descrição longa para um componente de Formulário adaptável. - A propriedade
default
serve como valor inicial de um campo de Formulário adaptável. - A propriedade
maxLength
está definida como atributomaxlength
do componente de campo de texto. - As propriedades
minimum
,maximum
,exclusiveMinimum
eexclusiveMaximum
são usadas para o componente de Caixa Numérica. - Para dar suporte ao intervalo de
DatePicker component
, são fornecidas as propriedades adicionais do Esquema JSONminDate
emaxDate
. - As propriedades
minItems
emaxItems
são usadas para restringir o número de itens/campos que podem ser adicionados ou removidos de um componente do painel. - A propriedade
readOnly
define o atributoreadonly
de um componente de Formulário adaptável. - A propriedade
required
marca o campo Formulário adaptável como obrigatório, enquanto no painel (em que o tipo é objeto), os dados JSON enviados finais têm campos com valor vazio que correspondem a esse objeto. - A propriedade
pattern
é definida como o padrão de validação (expressão regular) no Formulário adaptável. - A extensão do arquivo de Esquema JSON deve ser mantida em .schema.json. Por exemplo, <nome do arquivo>.schema.json.
Exemplo de esquema JSON sample-json-schema
code language-json |
---|
|
code language-json |
---|
|
As principais alterações das especificações do Esquema JSON V4 para a versão 2020-12 são:
- ID declarada como
$id
- definições são declaradas como
$defs
Definições de esquema reutilizáveis reusable-schema-definitions
As chaves de definição são usadas para identificar esquemas reutilizáveis. As definições de esquema reutilizáveis são usadas para criar fragmentos. Um exemplo de esquema JSON com definições é fornecido abaixo:
{
"$schema": "https://json-schema.org/draft-04/schema#",
"definitions": {
"address": {
"type": "object",
"properties": {
"street_address": { "type": "string" },
"city": { "type": "string" },
"state": { "type": "string" }
},
"required": ["street_address", "city", "state"]
}
},
"type": "object",
"properties": {
"billing_address": { "$ref": "#/definitions/address" },
"shipping_address": { "$ref": "#/definitions/address" }
}
}
O exemplo acima define um registro de cliente, em que cada cliente tem um endereço de entrega e de cobrança. A estrutura de ambos os endereços é a mesma — os endereços têm endereço, cidade e estado — portanto, é uma boa ideia não duplicar os endereços. Também facilita a adição e a exclusão de campos para qualquer alteração futura.
Pré-configuração de campos na definição do esquema JSON pre-configuring-fields-in-json-schema-definition
Você pode usar a propriedade aem:afProperties para pré-configurar o campo de Esquema JSON para mapear para um componente de Formulário adaptável personalizado. Um exemplo está listado abaixo:
{
"properties": {
"sizeInMB": {
"type": "integer",
"minimum": 16,
"maximum": 512,
"aem:afProperties" : {
"sling:resourceType" : "/apps/fd/af/components/guideTextBox",
"guideNodeClass" : "guideTextBox"
}
}
},
"required": [ "sizeInMB" ],
"additionalProperties": false
}
Limitar valores aceitáveis para um componente de Formulário adaptável limit-acceptable-values-for-an-adaptive-form-component
Você pode adicionar as seguintes restrições aos elementos do Esquema JSON para limitar os valores aceitáveis para um componente de Formulário adaptável:
Ativar dados compatíveis com o esquema enablig-schema-compliant-data
Para permitir que todo o Forms adaptável baseado em esquema JSON gere dados compatíveis com o esquema no envio do formulário, siga estas etapas:
- Vá para o Experience Manager web console em
https://server:host/system/console/configMgr
. - Localize Configuração de Canal da Web de Comunicação entre Interações e Formulários Adaptáveis.
- Selecione para abrir a configuração no modo de edição.
- Marque a caixa de seleção Gerar dados compatíveis com o esquema.
- Salve as configurações.
Construções não suportadas non-supported-constructs
O Forms adaptável não é compatível com as seguintes construções de esquema JSON:
- Tipo nulo
- Tipos de união, como qualquer um, e
- OneOf, AnyOf, AllOf e NOT
- Somente matrizes homogêneas são compatíveis. Portanto, a restrição de itens deve ser um objeto e não uma matriz.
- Referências de URI em $ref
Perguntas frequentes frequently-asked-questions
Por que não consigo arrastar elementos individuais de um subformulário (estrutura gerada de qualquer tipo complexo) para subformulários repetíveis (valores minOccours ou maxOccurs são maiores que 1)?
Em um subformulário repetível, você deve usar o subformulário completo. Se desejar apenas campos seletivos, use a estrutura inteira e exclua os indesejados.
Tenho uma estrutura complexa longa no Localizador de Conteúdo. Como posso encontrar um elemento específico?
Você tem duas opções:
- Rolar pela estrutura de árvore
- Use a caixa Pesquisar para localizar um elemento
Qual deve ser a extensão do arquivo de esquema JSON?
A extensão do arquivo de esquema JSON deve ser .schema.json. Por exemplo, <nome do arquivo>.schema.json.
Consulte também see-also
- Criar um formulário adaptável de AEM
- Adicionar um formulário adaptável de AEM à página do AEM Sites
- Aplicar temas a um formulário adaptável de AEM
- Adicionar componentes a um Formulário adaptável para AEM
- Usar CAPTCHA em um formulário adaptável de AEM
- Gerar uma versão de PDF (DoR) de um formulário adaptável AEM
- Traduzir um formulário adaptável de AEM
- Ativar o Adobe Analytics para um formulário adaptável para rastrear o uso do formulário
- Conectar o formulário adaptável ao Microsoft SharePoint
- Conectar o formulário adaptável ao Microsoft Power Automate
- Conectar o formulário adaptável ao Microsoft OneDrive
- Conectar o formulário adaptável ao armazenamento de blobs do Microsoft Azure
- Conectar o formulário adaptável ao Salesforce
- Usar o Adobe Sign em um formulário adaptável AEM
- Adicionar uma nova localidade para um Formulário adaptável
- Enviar dados do Formulário adaptável a um banco de dados
- Enviar dados do formulário adaptável para um endpoint REST
- Enviar dados do formulário adaptável para o fluxo de trabalho do AEM
- Usar o Forms Portal para listar AEM Adaptive Forms em um site de AEM
- Adicionar versões, comentários e anotações a um Formulário adaptável
- Comparar Forms adaptável