= Submeter Interface de Visualização = == 1 Descrição == Depois que uma interface tiver sido renderizada para o usuário, o sistema terá encerrado um ciclo, e ficará aguardando o recebimento de alguma ação endereçada para a camada controller. O usuário do sistema tem a opção de descartar esta interface e selecionar outra ação de menu do sistema, ou então poderá preencher os dados da interface e clicar em algum componente que submete os dados para o sistema. == 2 Atores == Usuários da aplicação == 3 Pré-condições == Ter executado o [wiki:WF/exibirinterface UC Exibir Interface de Visualização]. == 4 Eventos == 1. Usuário preenche os campos da interface 2. Usuário clica sobre um componente da interface com ação vinculada a método da camada de negócio. 3. Sistema valida cada um dos componentes da interface, segundo suas propriedades, utilizando Javascript. {E1} 4. Sistema invoca função de dispatch que submete os dados para a camada controller. 5. Sistema executa a ação conforme o [wiki:WF/executarrotina UC Executar Rotina]. {E2} 6. Sistema apresenta nova interface para o usuário {A1}{A2} == 5 Eventos Alternativos == {A1} Sistema não executa este evento porque ocorreram erros na execução da rotina. {A2} Caso não exista interface definida para a ação, o sistema permanece na mesma interface e mescla dados de retorno da ação da model, caso existam. == 6 Tratamento de Erros == {E1} Caso sejam encontrados erros com os dados da interface, exibe mensagens padronizadas {M1}...{Mn} {E2} Caso a ação da model retorne um objeto de erros, exibe o conteúdo das mensagens para o usuário. == 7 Mensagem == {M1} Campo é obrigatório. {M2} Campo deve conter um valor numérico. {M3} Selecione uma opção para o campo {M4} Data inválida para o campo == 8 Pós-condições == Dados submetidos para a camada controller == 9 Regras de Negócio == Todas as requisições da interface devem ser feitas por Ajax. Ao submeter a requisição, a função de dispatch deverá montar um array com os dados da interface, e anexar também o identificador da aplicação, o identificador da ação e o nome do template em uso. == 10 Telas Envolvidas == Não relevante. == 11 Notas ==