Editor de regras para o Edge Delivery Services Forms
O Editor de regras permite que os autores transformem formulários estáticos em experiências responsivas e inteligentes sem escrever código. Você pode mostrar campos condicionalmente, realizar cálculos, validar dados, orientar usuários por meio de fluxos e integrar uma lógica de negócios que se adapta à medida que as pessoas digitam.
O que você vai aprender
Ao final deste guia, você será capaz de:
- Entenda como as regras funcionam e quando usar diferentes tipos de regras
- Habilitar e acessar o Editor de regras no Editor universal
- Criar lógica condicional para mostrar ou ocultar campos dinamicamente
- Implementar cálculos automatizados e validação de dados
- Criar funções personalizadas para regras de negócios complexas
- Aplicar práticas recomendadas para desempenho, capacidade de manutenção e UX
Por que usar o Editor de regras?
- Lógica condicional: mostrar campos relevantes somente quando necessário para reduzir ruído e carga cognitiva.
- Cálculos dinâmicos: Calcule valores automaticamente (totais, taxas, impostos) conforme o tipo de usuário.
- Validação de dados: evite erros antecipadamente com verificações em tempo real e mensagens claras.
- Experiências guiadas: conduza usuários pelas etapas lógicas (assistentes, ramificação).
- Criação sem código: configure um comportamento poderoso por meio de uma interface visual.
Cenários comuns incluem calculadoras de impostos, estimadores de empréstimos e prêmios, fluxos de elegibilidade, aplicativos em várias etapas e pesquisas com perguntas condicionais.
Como as regras funcionam
Uma regra define o que deve acontecer quando uma condição é atendida. Conceitualmente, uma regra tem duas partes:
- Condição: uma instrução que é avaliada como verdadeira ou falsa.
- Exemplos: "Renda > 50.000", "Cobertura = 'Sim'", "Campo vazio"
- Ação: o que ocorre quando a condição é verdadeira (e, opcionalmente, quando ela é falsa).
- Exemplos: Mostrar/Ocultar um campo, Definir/Limpar um valor, Validar entrada, Ativar/Desativar um botão
-
Condição → Ação (Quando/Depois)
code language-text WHEN Gross Salary > 50000 THEN Show "Additional Deduction"Melhor para visibilidade condicional e divulgação progressiva.
-
Ação ← Condição (Definir Se/Somente se)
code language-text SET Taxable Income = Gross Salary - Deductions IF Deductions are applicableMelhor para cálculos e transformações de dados.
-
Se → Então → Outro (Ação alternativa)
code language-text IF Income > 50000 THEN Show "High Income" fields ELSE Show "Standard Income" fieldsMelhor para a lógica de ramificação e fluxos mutuamente exclusivos.
- Condição: "O salário bruto excede $50.000"
- Ação principal: mostrar "Dedução adicional"
- Ação alternativa: ocultar "Dedução adicional"
- Resultado: os usuários veem somente os campos que se aplicam a eles
Pré-requisitos
Configuração e permissões essenciais:
- AEM as a Cloud Service: acesso de criação com permissões de edição de formulário
- Editor Universal: instalado e configurado em seu ambiente
- Extensão do Editor de Regras: habilitada via Extension Manager
- Permissões de edição de formulário: capacidade de criar e modificar componentes de formulário no Universal Editor
Etapas de verificação:
- Confirme se você pode acessar o Universal Editor no console do AEM Sites
- Verificar se é possível criar e editar componentes de formulário
- Verifique se o ícone do Editor de regras
aparece ao selecionar componentes de formulário
Conhecimentos e habilidades necessários:
- Proficiência do Editor Universal: experiência na criação de formulários com entradas de texto, menus suspensos e propriedades básicas de campo
- Entendimento da lógica de negócios: capacidade de definir requisitos condicionais e regras de validação para seu caso de uso específico
- Familiaridade do componente de formulário: conhecimento dos tipos de campo (texto, número, lista suspensa), propriedades (obrigatório, visível, somente leitura) e estrutura do formulário
Opcional para uso avançado:
- Fundamentos do JavaScript: necessário apenas para criar funções personalizadas (tipos de dados, funções, sintaxe básica)
- Noções básicas sobre JSON: útil para manipulação de dados complexos e integrações de API
Perguntas de avaliação:
- Você pode criar um formulário básico com entradas de texto e um botão de envio no Universal Editor?
- Você entende quando os campos devem ser obrigatórios e opcionais no contexto de negócios?
- Você consegue identificar quais elementos de formulário precisam de visibilidade condicional no seu caso de uso?
Importante: a extensão do Editor de Regras não é habilitada por padrão em ambientes do Editor Universal.
Etapas de ativação:
- Navegue até a Extension Manager no seu ambiente do AEM
- Localize a extensão "Editor de regras" na lista de extensões disponíveis
- Clique em Habilitar e confirme a ativação
- Aguarde a atualização do sistema (pode levar de 1 a 2 minutos)
Verificação:
- Depois de habilitar, o ícone Editor de regras aparece quando você seleciona um componente de formulário:
Figura: o ícone Editor de regras aparece ao selecionar componentes de formulário
Para abrir o Editor de regras:
- Selecione um componente de formulário no Editor universal.
- Clique no ícone Editor de regras.
- O Editor de regras é aberto em um painel lateral.
Figura: interface do Editor de regras para editar regras de componentes
| note note |
|---|
| NOTE |
| Neste artigo, "componente de formulário" e "objeto de formulário" se referem aos mesmos elementos (por exemplo, entradas, botões, painéis). |
Visão geral da interface do Editor de regras
Figura: Interface completa do Editor de regras com componentes numerados
-
Título e tipo de regra do componente: confirma o componente selecionado e o tipo de regra ativo.
-
Painel de Funções e Objetos de Formulário:
- Objetos de formulário: exibição hierárquica de campos e containers para referência em regras
- Funções: auxiliares de matemática, string, data e validação integrados
-
Alternância de painel: mostrar/ocultar o painel de objetos e funções para aumentar o espaço de trabalho
-
Construtor visual de regras: arrastar e soltar, criador de regras orientado por lista suspensa
-
Controles: Concluído (salvar), Cancelar (descartar). Sempre teste as regras antes de salvar.
Quando um componente já tem regras, é possível:
- Exibir: consulte os resumos e a lógica da regra
- Editar: modificar condições e ações
- Reordenar: alterar a ordem de execução (de cima para baixo)
- Habilitar/Desabilitar: alternar regras para teste
- Excluir: remover regras com segurança
| note tip |
|---|
| TIP |
| Coloque regras específicas antes das gerais. A execução é de cima para baixo. |
Tipos de regras disponíveis
Escolha o tipo de regra que melhor corresponda à sua intenção.
- Quando: regra primária para comportamento condicional complexo (Condição → Ação ± Else)
- Ocultar/Mostrar: controla a visibilidade com base em uma condição (divulgação progressiva)
- Habilitar/Desabilitar: controla se um campo é interativo (por exemplo, desabilite Enviar até que os campos obrigatórios sejam válidos)
- Definir Valor de: preencher valores automaticamente (por exemplo, datas, totais, cópias)
- Limpar Valor de: Remover dados quando as condições forem alteradas
- Formato: transformar a formatação de exibição (moeda, telefone, data) sem alterar os valores armazenados
- Validar: lógica de validação personalizada, incluindo verificações entre campos e regras de negócios
- Expressão matemática: calcular valores em tempo real (totais, impostos, taxas)
- Definir Foco: Mover o foco para um campo específico (use com moderação)
- Definir Propriedade: modifique propriedades do componente dinamicamente (espaço reservado, opções etc.)
- Enviar Formulário: enviar o formulário de forma programática (somente após a aprovação das validações)
- Redefinir Formulário: Limpar e redefinir para o estado inicial (confirme antes de usar)
- Salvar Formulário: Salvar como rascunho para mais tarde (formulários longos, várias sessões)
- Invocar Serviço: chamar APIs/serviços externos (manipular carregamento e erros)
- Adicionar/Remover Instância: Gerenciar seções que podem ser repetidas (por exemplo, dependentes, endereços)
- Navegar para: rotear para outros formulários/páginas (preservar dados antes da navegação)
- Navegar Entre Painéis: navegação e salto da etapa do assistente de controle
- Evento de expedição: acionar eventos personalizados para integrações ou análises
Tutorial passo a passo: Criar uma calculadora de impostos inteligente
Este exemplo demonstra visibilidade condicional e cálculos automáticos.
Figura: Formulário de cálculo de imposto com campos condicionais inteligentes
Você criará um formulário que:
- Adapta-se à entrada do usuário mostrando campos relevantes
- Calcula os valores em tempo real
- Valida dados para melhorar a precisão
| table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4 | |||
|---|---|---|---|
| Nome do campo | Tipo | Propósito | Comportamento |
| Salário Bruto | Entrada de número | Receita anual do usuário | Aciona a lógica condicional |
| Dedução Adicional | Entrada de número | Deduções adicionais (se elegíveis) | Visível somente quando Salário > US$ 50.000 |
| Receita Tributável | Entrada de número | Valor calculado | Somente leitura, atualizações na alteração |
| Imposto a Pagar | Entrada de número | Valor calculado | Somente leitura, calculado em uma taxa uniforme |
-
Regra 1: exibição condicional
code language-text WHEN Gross Salary > 50,000 THEN Show "Additional Deduction" ELSE Hide "Additional Deduction" -
Regra 2: Cálculo de receita tributável
code language-text SET Taxable Income = Gross Salary - Additional Deduction (Only when Additional Deduction applies) -
Regra 3: Cálculo de imposto a pagar
code language-text SET Tax Payable = Taxable Income × 10% (Simplified flat rate)
Objetivo: criar o formulário base com todos os campos e configurações iniciais.
-
Abrir editor universal:
- Navegue até o console AEM Sites, selecione sua página, clique em Editar
- Verifique se o Editor Universal está configurado corretamente
-
Adicionar componentes de formulário nesta ordem:
- Título (H2): "Formulário de cálculo de imposto"
- Entrada de Número: "Salário Bruto" (Obrigatório: Sim, Espaço Reservado: "Informar salário anual")
- Entrada de Número: "Dedução Adicional" (Obrigatório: Não, Espaço Reservado: "Informar deduções adicionais")
- Entrada de Número: "Renda Tributável" (Somente Leitura: Sim)
- Entrada de Número: "Imposto a Pagar" (Somente Leitura: Sim)
- Botão Enviar: "Calcular Imposto"
-
Configurar propriedades do campo inicial:
- Ocultar "Dedução adicional" (definido como Visível: Não no painel Propriedades)
- Defina "Renda Tributável" e "Imposto a Pagar" como Somente Leitura: Sim
Figura: estrutura do formulário inicial com componentes básicos configurados
Ponto de verificação: você deve ter um formulário com todos os campos obrigatórios em que "Dedução adicional" esteja oculta e os campos calculados sejam somente leitura.
Meta: mostrar o campo "Dedução Adicional" somente quando o Salário Bruto exceder $50.000.
-
Selecione o campo Salário Bruto e clique no ícone do Editor de Regras
-
Criar uma nova regra:
- Clique em Criar
- Alterar tipo de regra de "Definir Valor de" para "Quando"
-
Configurar a condição:
- Selecione "é maior que" na lista suspensa
- Digite
50000no campo de número
-
Defina a ação Then:
- Escolha "Mostrar" na lista suspensa Selecionar ação
- Arraste ou selecione o campo "Dedução Adicional" dos Objetos de Formulário
-
Adicionar a ação Else:
- Clique em "Adicionar outra seção"
- Escolha "Ocultar" na lista suspensa Selecionar ação
- Selecionar o campo "Dedução Adicional"
-
Salvar a regra: Clique em Concluído
| note note |
|---|
| NOTE |
| Abordagem alternativa: Você pode obter o mesmo resultado criando uma regra Mostrar/Ocultar diretamente no campo "Dedução Adicional" em vez de uma regra Quando em "Salário Bruto". |
Meta: calcular automaticamente "Receita Tributável" e "Imposto a Pagar" com base na entrada do usuário.
Configurar cálculo de Renda Tributável:
-
Selecione o campo "Receita Tributável" e abra o Editor de Regras
-
Criar expressão matemática:
- Clique em Criar → Selecionar "Expressão matemática"
- Expressão de compilação: Salário Bruto - Dedução Adicional
- Arraste "Salário Bruto" para o primeiro campo
- Selecionar operador "Menos"
- Arraste "Dedução adicional" para o segundo campo
-
Salvar: Clique em Concluído
Configurar cálculo de Imposto a Pagar:
-
Selecione o campo "Imposto a Pagar" e abra o Editor de Regras
-
Criar expressão matemática:
- Clique em Criar → Selecionar "Expressão matemática"
- Expressão de compilação: Receita Tributável × 10 ÷ 100
- Arraste "Renda Tributável" para o primeiro campo
- Selecione o operador "Multiplicado por"
- Inserir
10como número - Clique em "Estender expressão"
- Selecione o operador "dividido por"
- Inserir
100como número
-
Salvar: Clique em Concluído
Verifique sua implementação testando o fluxo completo:
-
Visualizar o formulário: clique no modo de visualização no Editor Universal
-
Testar a lógica condicional:
- Insira o Salário Bruto =
30000→ "Dedução Adicional" deve permanecer oculta - Insira o Salário Bruto =
60000→ "Dedução Adicional" deve aparecer
- Insira o Salário Bruto =
-
Cálculos de teste:
- Com Salário Bruto =
60000, insira Dedução Adicional =5000 - Verificar Receita Tributável =
55000(60000 - 5000) - Verificar Imposto a Pagar =
5500(55000 × 10%)
- Com Salário Bruto =
Figura: Calculadora de imposto concluída com campos condicionais e cálculos automáticos
Critério de sucesso: o formulário deve mostrar/ocultar campos dinamicamente e calcular valores em tempo real à medida que os usuários digitam.
Avançado: funções personalizadas
Para uma lógica de negócios complexa além dos recursos incorporados, é possível criar funções personalizadas do JavaScript que se integram perfeitamente ao Editor de regras.
Cenários ideais para funções personalizadas:
- Cálculos complexos: os cálculos em várias etapas não são facilmente expressos na regra de Expressão matemática
- Validações específicas de negócios: lógica de validação personalizada específica para sua organização ou setor
- Transformações de dados: conversões de formato, manipulações de cadeia de caracteres ou análise de dados
- Integrações externas: chamadas para APIs internas ou serviços de terceiros (com limitações)
Vantagens das funções personalizadas:
- Reusabilidade: Gravar uma vez, usar em vários formulários e regras
- Manutenção: lógica centralizada, mais fácil de atualizar e depurar
- Desempenho: execução otimizada de JavaScript em comparação a cadeias de regras complexas
- Flexibilidade: tratar casos de borda e cenários complexos não solucionados pelas regras padrão
Local do arquivo: todas as funções personalizadas devem ser definidas em /blocks/form/functions.js no seu projeto do Edge Delivery Services.
Fluxo de trabalho de desenvolvimento:
-
Design da função
- Usar nomes de função descritivos e orientados por ação
- Definir tipos claros de parâmetros e valores de retorno
- Lidar com casos de borda e entradas inválidas normalmente
-
Implementação
- Escreva JavaScript limpo e bem comentado
- Incluir validação de entrada e tratamento de erros
- Testar funções independentemente antes da integração
-
Documentação
- Adicionar comentários JSDoc abrangentes
- Incluir exemplos de uso e descrições de parâmetros
- Documentar quaisquer limitações ou dependências
-
Implantação
- Exportar funções usando exportações nomeadas
- Implantar no repositório do projeto
- Verificar a conclusão da criação antes do teste
Exemplo de implementação:
| code language-javascript |
|---|
|
Figura: Adicionar funções personalizadas ao arquivo functions.js
Etapas de integração:
-
Adicionar função ao projeto
- Criar ou editar
/blocks/form/functions.jsem seu projeto - Inclua sua função na declaração de exportação
- Criar ou editar
-
Implantar e compilar
- Confirmar alterações no repositório
- Garantir que o processo de criação seja concluído com êxito
- Permitir tempo para atualizações de cache da CDN
-
Acesso no Editor de Regras
- Abrir o Editor de regras para qualquer componente do formulário
- Selecione "Saída da Função" na lista suspensa Selecionar Ação
- Escolha sua função personalizada na lista de funções disponíveis
- Configurar parâmetros de função usando campos de formulário ou valores estáticos
-
Testar completamente
- Visualize o formulário para verificar o comportamento da função
- Teste com várias combinações de entrada, incluindo casos de borda
- Verificar o impacto no desempenho do carregamento e da interação do formulário
Figura: Seleção e configuração de funções personalizadas na interface do Editor de regras
As melhorias no Editor de regras, incluindo regras personalizadas baseadas em eventos, suporte para variáveis dinâmicas e integração de API, também estão disponíveis para o Edge Delivery Services Forms. Para saber mais sobre esses aprimoramentos e como usá-los, consulte o artigo Aprimoramentos do Editor de regras e Casos de uso.
Práticas recomendadas para uso de função:
- Tratamento de erros: sempre incluir comportamento de fallback para falhas de função
- Desempenho: funções de perfil com volumes de dados realistas
- Segurança: validar todas as entradas para evitar vulnerabilidades de segurança
- Testes: criar casos de teste que cubram casos normais e de borda
Importações estáticas para funções personalizadas
O Editor de regras do Editor universal oferece suporte a importações estáticas, permitindo organizar a lógica reutilizável em vários arquivos e formulários. Em vez de manter todas as funções personalizadas em um único arquivo (https://experienceleague.adobe.com/blocks/form/functions.js?lang=pt-BR), você pode importar funções de outros módulos.
Por exemplo: Importando Funções de um Arquivo Externo
Considere a seguinte estrutura de pastas:
form
┣ commonLib
┃ ┗ functions.js
┣ rules
┃ ┗ _form.json
┣ form.js
┗ functions.js
Você pode importar funções de commonLib/functions.js para seu arquivo functions.js principal conforme mostrado abaixo:
`import {days} from './commonLib/functions';
/**
* Get Full Name
* @name getFullName Concats first name and last name
* @param {string} firstname in String format
* @param {string} lastname in String format
* @return {string}
*/
function getFullName(firstname, lastname) {
return `${firstname} ${lastname}`.trim();
}
// Export multiple functions for use in Rule Editor
export { getFullName, days};
Organização de funções personalizadas em diferentes Forms
É possível criar diferentes conjuntos de funções em arquivos ou pastas separados e exportá-los conforme necessário:
-
Se quiser que determinadas funções estejam disponíveis somente em formulários específicos, forneça o caminho para o arquivo de funções na configuração do formulário.
-
Se a caixa de texto do caminho for deixada em branco, o Editor de Regras assumirá como padrão o carregamento de funções de
/blocks/form/functions.js
Na captura de tela acima, o caminho da função personalizada é adicionado na caixa de texto Caminho da função personalizada. As funções personalizadas para este formulário são carregadas do arquivo especificado (cc_function.js).
Isso permite flexibilidade ao compartilhar funções em vários formulários ou mantê-las isoladas por formulário.
Práticas recomendadas para o desenvolvimento de regras
- Minimize a complexidade das regras; divida uma grande lógica em regras pequenas e focadas
- Ordenar regras por frequência (mais comum primeiro)
- Manter conjuntos de regras por componente gerenciável
- Preferir funções personalizadas reutilizáveis à lógica de duplicação
- Fornecer validação clara e feedback em linha
- Evite alterações visuais estranhas; use mostrar/ocultar cuidadosamente
- Testar em dispositivos e layouts
- Testar com casos de borda e valores conhecidos
- Verificar entre navegadores
- Intenção de documentos por trás de regras complexas, não apenas mecânica
- Manter um estoque de regras para formulários grandes
- Usar nomenclatura consistente para componentes e regras
- Funções personalizadas de versão e teste em ambientes não relacionados à produção
Solução de problemas comuns
- Verificar nomes e referências de componentes
- Verificar ordem de execução (de cima para baixo)
- Validar condições com valores conhecidos
- Inspecionar o console do navegador em busca de erros de bloqueio
- Revisar operadores e agrupamento (E/OU)
- Testar fragmentos de expressão individualmente
- Confirmar tipos de dados (números versus sequências de caracteres)
- Simplificar condições aninhadas profundamente
- Funções personalizadas de perfil
- Minimizar chamadas externas dentro de regras
- Usar seletores e referências específicos
- Confirmar caminho do arquivo:
/blocks/form/functions.js - Verifique se as exportações nomeadas estão corretas
- Confirme se a build inclui suas alterações
- Limpar o cache do navegador após a implantação
- Validar tipos de parâmetros e tratamento de erros
- Confirmar se a extensão Editor de regras está ativada
- Selecione um componente compatível
- Usar um navegador compatível (Chrome, Firefox, Safari)
- Verifique se você tem as permissões necessárias
Limitações importantes
| note important |
|---|
| IMPORTANT |
| Restrições de função personalizada: |
|
| note warning |
|---|
| WARNING |
| Considerações sobre a produção: |
|
Resumo
O Editor de regras no Universal Editor transforma formulários estáticos em experiências inteligentes e responsivas que se adaptam à entrada do usuário em tempo real. Aproveitando a lógica condicional, os cálculos automatizados e as regras de negócios personalizadas, você pode criar fluxos de trabalho de formulário sofisticados sem gravar o código do aplicativo.
Principais recursos que você aprendeu:
- Lógica condicional: mostrar e ocultar campos com base na entrada do usuário para criar experiências focalizadas e relevantes
- Cálculos dinâmicos: calcule valores automaticamente (impostos, totais, taxas) conforme os usuários interagem com o formulário
- Validação de dados: implementar a validação em tempo real com mensagens de comentários claras e acionáveis
- Funções personalizadas: estenda os recursos do JavaScript para obter lógicas e integrações de negócios complexas
- Otimização do desempenho: aplique as práticas recomendadas para o desenvolvimento eficiente e manutenível de regras
Valor entregue:
- Experiência aprimorada do usuário: reduza a carga cognitiva com divulgação progressiva e fluxos de formulários inteligentes
- Erros reduzidos: evitar envios inválidos por meio da validação em tempo real e da entrada guiada
- Maior eficiência: automatize cálculos e entradas de dados para minimizar o esforço do usuário
- Soluções de manutenção: crie regras reutilizáveis e bem documentadas que se expandam pela sua organização
Impacto nos negócios:
O Forms se torna ferramentas eficientes para a coleta de dados, a qualificação de clientes potenciais e o engajamento do usuário. O Editor de regras permite que autores não técnicos implementem uma lógica de negócios sofisticada, reduzindo os custos de desenvolvimento e, ao mesmo tempo, melhorando as taxas de conclusão de formulários e a qualidade dos dados.
Próximas etapas
Caminho de Aprendizado recomendado:
- Comece com as noções básicas: crie regras simples de mostrar/ocultar para entender os conceitos principais
- Prática com tutoriais: use o exemplo da calculadora de imposto como base para seus próprios formulários
- Expanda gradualmente: adicione expressões matemáticas e regras de validação à medida que sua confiança aumentar
- Implementar funções personalizadas: desenvolver funções do JavaScript para requisitos empresariais especializados
- Otimizar e dimensionar: aplique as práticas recomendadas de desempenho e mantenha a documentação da regra
Recursos adicionais:
- Documentação do Editor Universal para contexto mais amplo
- guia do Extension Manager para habilitar recursos adicionais
- Edge Delivery Services forms para obter orientação abrangente sobre o desenvolvimento de formulários