Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso criar validação ao vivo do lado do servidor oracle apex sem necessidade de enviar página


Sim, você pode criar validação do lado do servidor usando Dynamic Action e função JavaScript apex.server.process .

Um exemplo básico para demonstrar
  • Crie um item de página, por exemplo P4_NAME em sua página
  • Crie um processo de página e selecione o ponto de execução como "AJAXCALLBACK".

No código abaixo estou verificando o valor P4_ITEM, você pode escrever sua própria lógica para validar.
BEGIN
   IF :P4_NAME = 'HIMANSHU'
   THEN
      HTP.prn ('SUCCESS');
   ELSE
      HTP.prn ('ERROR');
   END IF;
END;
  • Agora crie uma nova ação dinâmica e selecione o Evento como "PERDER FOCO", Tipo de Seleção como "Itens" e em Itens selecione o nome do item.


  • Crie uma ação verdadeira e selecione "executar código JavaScript".

Na seção de código, implemente apex.server.process como abaixo-
apex.server.process('validate_name',
{
   pageItems : '#P4_NAME'
}
,
{
   dataType : 'text', success : function(data)
   {
      if(data != 'SUCCESS')alert(data);
   }
}
)

O primeiro argumento é o nome do processo da página (validate_name) que criamos anteriormente, o segundo os dados que você deseja enviar ao processo e o terceiro são as opções.Para obter mais detalhes em apex.server.process

Está feito. Atualize sua página e confira. Em caso de falha de validação, você receberá um alerta.

Você pode personalizar ainda mais seu código JS para exibir mensagens de erro de maneira mais sofisticada, em vez de mostrar alertas.