Hola:
Parece estar bien, pero usando el método post te recomendaría poner el atributo enctype... de todos modos, en las pruebas podrías comprobar mejor lo que llega con print_r($_POST);
Otra cosilla que no tiene que ver con la validación, es que procures asociar un label a cada control (ahora estás usando span)...
Saludos