Hi,
Both are possible. What you could do is use the volume restriction of shipping methods:
You set all your products with a volume of 1.
You then edit all your shipping methods and add a minimum volume of 10 for each one.
That way, when a user displays the checkout with less that 10 items, it won't find any suitable shipping methods and will block the checkout process and display a message.
The message can be tweaked by edit your translation file via the interface provided in the config under the tab languages.