How to Make field required depending on other field?
You can do this with the Conditional Fields module.

It allows you to configure dependencies between fields (visible / required / etc.). It's still a development release, but it should work.