The country select field is a built in field, no need to deal with the country list or any db access.
The syntax of the email address is checked. The field is set to not allow freemail providers.
The "URL" field is defined as datatype "url", and thus the syntax is checked aswell.
It is no "must" field, that's why an empty value is accepted. But "asdf" would not be OK.
The "Description" field has a minLength of 40 characters.
But we don't want to annoy people, so the warning can be "overlooked" after a first incomplete submit.
This way the user still thinks about what to fill in.
Once all input is valid the submitted data is automatically persisted into a db table.
An email is sent to the webmaster.
The number of seconds used to fill in the form and the number of submits (until everything was accepted) are tracked.