sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo puedo crear una validación en vivo del lado del servidor Oracle Apex sin necesidad de enviar una página?

Sí, puede crear una validación del lado del servidor usando Dynamic Action y la función JavaScript apex.server.process .

Un ejemplo básico para demostrar-

  • Cree un elemento de página, p. P4_NAME en tu página
  • Cree un proceso de página y seleccione el punto de ejecución como "AJAXCALLBACK".

En el siguiente código, estoy comprobando el valor P4_ITEM, puede escribir su propia lógica para validar.

BEGIN
   IF :P4_NAME = 'HIMANSHU'
   THEN
      HTP.prn ('SUCCESS');
   ELSE
      HTP.prn ('ERROR');
   END IF;
END;
  • Ahora cree una nueva acción dinámica y seleccione el Evento como "PERDER FOCO", Tipo de selección como "Artículo(s)" y en Artículo(s) seleccione el nombre del elemento.

  • Cree una acción real y seleccione "ejecutar código JavaScript".

En la sección de código, implemente apex.server.process como abajo-

apex.server.process('validate_name',
{
   pageItems : '#P4_NAME'
}
,
{
   dataType : 'text', success : function(data)
   {
      if(data != 'SUCCESS')alert(data);
   }
}
)

El primer argumento es el nombre del proceso de la página (validate_name) que creamos anteriormente, segundo los datos que desea enviar al proceso y el tercero son las opciones. Para obtener más detalles sobre apex.server.process

Se hace. Actualiza tu página y comprueba. Si falla la validación, recibirá una alerta.

Puede personalizar aún más su código JS para mostrar mensajes de error de una manera más elegante en lugar de mostrar alertas.