No, of course not.
Umm, pretty sure you can put it in a contract. I know teams forbid players from playing in other sports, riding motorcycles, etc.
They are investing millions of dollars in a player, and don't want that player hurt taking "unnecessary" risks.
Remember, noone is being forced into this. They are getting paid. If the details of the contract are not to your liking, don't sign a contract!