Example is given below to validate a Text Item in Oracle Forms with specific rules condition which can be define at run time with the use of T-List item and When-Validate-Item trigger.
Below is the screen shot of this example form which can be download free from Google Drive with the following link: Validate.fmb
The following trigger is written in the When Validate Item trigger:
if :rules = 'Must Not Be Blank' then
if nvl(:wvi,'-_-') = '-_-' then
bell;
Message(:rules);
raise form_trigger_failure;
end if;
elsif :rules = 'Can Be Blank But Can Not Have Numeric Value' then
if length(replace(translate(:wvi, '0123456789', ' '), ' ')) < length(:wvi) then
bell;
Message(:rules);
raise form_trigger_failure;
end if;
elsif :rules = 'Must Contain @' then
if not instr(:wvi, '@') > 0 then
bell;
Message(:rules);
raise form_trigger_failure;
end if;
elsif :rules = 'Must Contain Date Only' then
declare
d date;
Begin
d := to_date(:wvi, 'DD-MM-YYYY');
exception
when others then
bell;
Message(:rules);
raise form_trigger_failure;
end;
end if;