Entendí absolutamente nada

. No sé si estás afirmando o preguntando. Como sea, por lo que entendí quieres validar la página sin necesidad de ir a enviar.php (como aparece en el formulario) y además que verifique si el nombre está vacío o no. Bueno, lo haré a mi manera...
Código PHP:
Ver original<?php
if($_GET["do"]=="validar"){
//Aquí va el código que deberia haber estado en enviar.php
$nombre=$_POST["nombre"];
$validacion="Introduzca el nombre";
} else {
// Aqui va el codigo de cuando el nombre no esta en blanco
}
}
?>
<form action="?do=validar" method="post">
<div>
<label for="nombre">nombre<span class="obligatori">*</span></label>
<input type="text" name="nombre" id="nombre" value="<?php echo $_POST['nombre'] ?>" maxlength="38" size="28"/>
<?php
echo "<span class='validacion'><br>".$validacion."</span>";
?>
</div>
<input type="submit" name="enviar" value="enviar" id="enviar" />
</form>
Si tienes una duda, consulta por este mismo medio, y no te quedes sin saber lo del isset (que tambien se puede usar en este caso, y de hecho es lo recomendado) ya que es una instrucción muy util.