Yes, you can trap and show the error in Forms. One way is to code an ON-ERROR trigger which traps the error and displays DBMS_ERROR_TEXT - look at the documentation for DBMS_ERROR_TEXT for an example.
Actually, your example should not be done using a trigger, as it can be done more efficiently by a check constraint:
ALTER TABLE HP_HIANYPOTLAS ADD CONSTRAINT chk_cenzuraszam
CHECK (LENGTH(:NEW.cenzuraszam) = 12);
Your form would see the DBMS_ERROR_TEXT:
ORA-02290: check constraint (xxx.chk_cenzuraszam) violated
It could then easily parse this and produce a more user-friendly message.
As it stands, your trigger has a ROLLBACK that is redundant and will never happen anyway (since RAISE_APPLICATION_ERROR aborts the process), and could be simplified to:
CREATE OR REPLACE TRIGGER VALIDAL
BEFORE
INSERT OR UPDATE OF CENZURASZAM
ON HP_HIANYPOTLAS
FOR EACH ROW
BEGIN
IF LENGTH(:NEW.cenzuraszam) != 12
THEN
raise_application_error (-20101, 'ROSSZ ADAT:' || 'CENZÚRASZÁM');
END IF;
END;
(But as I said before, a CHECK constraint is better).