How can you make it so you have to enter data into a text field before you can insert the snippet?
Hi, and welcome to the forum!
You can use the {error} command for that. Something like this should work:
Fill me out: {formtext: name=field}
{if: trim(field) = ""}{error: Fill out the field before submitting; block=yes}{endif}
The block
setting on the error prevents the user from submitting the form while the error is shown.