Seit APEX Version 5.1 können ja nun zusätzliche Standard-Prüfungen für die Items durchgeführt werden. Diese sind:
Wenn das aber alles nicht passt, können wir uns eine eigene Validation schreiben:
DECLAREstmt VARCHAR2(32000);v_sqlerrm varchar2(32000);BEGINFOR c IN (SELECT PAGE_ID, PAGE_NAME, ITEM_NAMEFROM APEX_APPLICATION_PAGE_ITEMSWHERE application_id=:APP_ID and page_id=:APP_PAGE_ID ) LOOP stmt:=q'!BEGIN IF instr(v('!'||c.item_name||q'!'),'<')>0 OR instr(v('!'||c.item_name||q'!'),'>')>0 OR instr(v('!'||c.item_name||q'!'),'^')>0 OR instr(v('!'||c.item_name||q'!'),'&')>0 OR instr(v('!'||c.item_name||q'!'),'"')>0 OR instr(v('!'||c.item_name||q'!'),chr(39))>0 THEN RAISE_APPLICATION_ERROR(-20500,'Ungültige Zeichen verwendet (^<>&")'); END IF; EXCEPTION WHEN OTHERS THEN IF sqlcode=-20500 then raise; end if; END; !';commit; EXECUTE IMMEDIATE stmt;
END LOOP; RETURN true;EXCEPTION WHEN OTHERS THEN v_sqlerrm:=sqlerrm; RETURN false;END;
Wenn jetzt jemand in irgendein Item eines der Zeichen <>'" &^ einträgt, wird diese Eingabe abgewiesen.