Si estás enviando a otra página y esa página hace la validación y te vuelve a la página del formulario cuando falla, podrías enviar los datos por el método de GET usando el header.
Código PHP:
Ver originalheader('Location: form.php?foo=' . $_POST['foo'] . '&bar=' . $_POST['bar'] . '&candy=' . $_POST['candy']);
Luego en los formularios usa algo como
Código PHP:
Ver original<input type='text' name='foo' value='<?php echo $_GET['foo']; ?>' />
<input type='text' name='bar' value='<?php echo $_GET['bar']; ?>' />
<input type='text' name='candy' value='<?php echo $_GET['candy']; ?>' />