Muchas gracias a los dos, David y Cluster. Me ha quedado clarísimo
Ahora lo que me tengo que pensar es dónde pondría el código javascript si lo pongo, pq estoy usando un cms (e107) y no tengo muy claro dónde debería ponerlo. Y el código php de verificación lo pongo en el formulario.
Muy interesante lo de la usabilidad. No había pensado lo fastidioso que es cuando envías un formulario y te lo devuelve vacío pq te falta algo. A ver si ssoy capaz...