Validações e gatilhos no modelo MVC
Separa validação de dados de preenchimento por gatilho.
Visão geral
Um gatilho deriva um valor; isso não dispensa validar o resultado no modelo. FWStruTrigger fornece quatro elementos: campo de origem, campo de destino, condição e execução para AddTrigger. O exemplo cria um gatilho sem busca em tabela, usando campos fictícios que precisam existir na estrutura. VldData verifica o modelo/submodelos; CommitData só deve ser chamado após validação e com a persistência correta configurada. Não repetir a mesma regra com efeitos colaterais em evento visual e gravação. (Fontes: refs. 1–3.)
Exemplo comentado
// Fragmento: oStruct possui ED_ORIG e ED_DEST, ambos caracteres.
Local aGatilho := FWStruTrigger("ED_ORIG","ED_DEST","Upper(M->ED_ORIG)",.F.,"",0,"","","ED704")
// A regra e autoral fixa; nao recebe expressao externa.
oStruct:AddTrigger(aGatilho[1],aGatilho[2],aGatilho[3],aGatilho[4])Registra a definição do gatilho; não ativa modelo nem grava dados. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Testar origem, destino, dependências cíclicas e validação recusada. Regras textuais são código, não entrada livre do usuário.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.