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.