The best thing to do here is make a checkout translation that will change the translation of "phone number" to "Phone number *(required)" or some such. Simply go to general preferences and on the language dropdown for your shop scroll to the very very bottom and select "new translation" (going from memory here) Translate the checkout lines you want. Give the translation a name, save it. When back on general preferences page choose your new translation from the dropdown and apply. Blammo! You are done.
PS. There is no way to disable checkout before this field is filled out. All you can do is hope your users are good enough to follow the instructions you provide.
I would appreciate this as well. It would be nice for me to require a phone number when the cart subtotal is over a certain value. The higher value of certain orders creates more shipping logistics, which are easier to solve when I have ALL of the customers contact info.
I too need this feature. I imagine any shop in the US shipping international needs this. I really don't understand why this wouldn't be implemented. The work around is just a hack, and not a idea solution. The form needs to throw an error if the Phone isn't entered.
It seems like every week I find a new issue with Shopify that completely boggles my mind. Logical and necessary features are complete omitted. It's unfortunate because there are some really great things about Shopify, but these little things kill it.