Sorry, I dont have Forms installed anywhere anymore so I cant test my theories for you.
But if the item is marked as required, then I would have expected a call like:
validate(block_scope);
check_package_failure;
would stop the user right there and then.
If I'm not being much help :-(, then perhaps try the Forms forums
https://community.oracle.com/community/development_tools/forms/content