How can I check that the user has entered a value in an InputField? I'm using the "-required" option, but (as the documentation states) the system does not automatically check that the user has entered something.

In your InputScript, before the first "Screen" command, check that the InputField variable is not empty. Example:

// Check that the user entered the amount
if not V[MM01_Amount]
  Return "E: Please fill in the amount" -statusline
endif