vous pourriez créer une fonction :
ex :
FUNCTION is_valid_date_format (
p_format IN VARCHAR2 )
RETURN BOOLEAN IS
l_date VARCHAR2(100) := NULL;
BEGIN
l_date := TO_char( sysdate, p_format );
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END is_valid_date_format;
et l'utiliser comme ça
IF is_valid_date_format('dd/mm/yyyy') THEN
pour le moment, il autorisera également les formats d'heure, mais il serait simple de l'étendre pour interdire un format contenant des formats indésirables, par exemple :hh hh24 mi ss
en ajoutant :(vous voudrez probablement d'abord mettre en majuscule votre chaîne de format)
IF INSTR(p_format,'HH')>0 OR INSTR(p_format,'HH24')>0
OR INSTR(p_format,'MI')>0 OR INSTR(p_format,'SS')>0 THEN
RETURN FALSE
END IF;