Está bien ese código, me gustó. Yo valido así:
Código PHP:
if(strlen(trim($val))>0) { echo "CUMPLE"; }
Es otra alternativa.
Luego de enviado me puse a mirar la documentación de "empty()" y encontré esto:
Código PHP:
<?php
$var = 0;
// Evalua a true ya que $var esta vacia
if (empty($var)) {
echo '$var es 0, una variable vacia, o no esta definida en absoluto';
}
?>
Devuelve true a pesar de que tiene al menos un caracter.