sql >> Databasteknik >  >> RDS >> Oracle

Hur kan jag skapa oracle apex serverside live validering utan att behöva skicka in sidan

Ja, du kan skapa validering på serversidan genom att använda Dynamic Action och JavaScript-funktionen apex.server.process .

Ett grundläggande exempel för att demonstrera-

  • Skapa ett sidobjekt, t.ex. P4_NAME på din sida
  • Skapa en sidprocess och välj exekveringspunkten som "AJAXCALLBACK".

I koden nedan kontrollerar jag P4_ITEM-värdet, du kan skriva din egen logik för att validera.

BEGIN
   IF :P4_NAME = 'HIMANSHU'
   THEN
      HTP.prn ('SUCCESS');
   ELSE
      HTP.prn ('ERROR');
   END IF;
END;
  • Skapa nu en ny dynamisk åtgärd och välj Event som "LOSE FOCUS", Selection Type som "Artikel(er)" och i Artikel(er) välj objektets namn.

  • Skapa en sann åtgärd och välj "exekvera JavaScript-kod".

I kodavsnittet implementerar du apex.server.process som nedan-

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

Det första argumentet är sidans processnamn(validate_name) som vi har skapat tidigare, det andra är de data du vill skicka till processen och det tredje är options.För mer information om apex.server.process

Det är klart. Uppdatera din sida och kolla. Vid misslyckande med valideringen får du en varning.

Du kan anpassa din JS-kod ytterligare för att visa felmeddelanden på ett mer snyggt sätt istället för att visa varning.




  1. Jämföra datum i Oracle SQL

  2. Infoga bilder i en databas

  3. Hur man använder CASE Statement i MySQL?

  4. Varför kan jag inte använda en bindningsvariabel i en execute immediate-sats?