Validation for S3 UI fields

Closes #30 

Uses the new i18n system for error messages, and HTML5 form validation attributes.