Actually, we put in an enhancement at v2.1 of the SDK to prevent the map from panning outside the map's maxEnvelope property. By default, this is set to the full envelope of the basemap layer.
So, if you're using v2.1 or higher, you shouldn't have to do anything really.
Can you check the maxEnvelope property of your map and ensure it is appropriate?