I'm guessing that validating an address could get quite tricky, so why not just have it as a required field so they are forced to enter "any" value to submit the form?

You're using the required attribute incorrectly. The HTML5 Spec says that "true" and "false" are not valid values in attributes. You would want to use:

HTML Code:
  1. <input type="text" name="address" required />
or alternatively
HTML Code:
  1. <input type="text" name="address" required="required" />

I also noticed you are doing length validation on the input field (size="47"). What if someone has an address longer than 47 characters? It might be extremely unlikely, but still possible? If you are going to do client-side (browser) input validation, don't forget to also do it on the server-side as you should never explicitly trust that what the client is sending to the server is valid data