Take a look at this example from Niels talk/demo from CodeGarden.
It validates all Rich Text Editors on the content node to ensure words are not too long, with this style of approach you could then register validation in a workspace so that it could check another property in order to make it required.
Might get you inspired or a way to solve your problem.