Я нашел действительно простое решение.Решение состоит в том, чтобы переопределить метод save () класса вашей формы вручную.
class SomeUserClass extends myUser {
public function save(Doctrine_Connection $conn = null)
{
$this->setFirstName(trim($this->getFirstName()));
if($this->getFirstName())
{
return parent::save();
}else
{
return null;
}
}
}
В этом примере я проверяю, пустое ли поле имениЕсли его нет, то сохраните форму.Если оно пустое, то мы не вызываем save в форме.
Мне не удалось заставить валидаторы работать должным образом, и это не менее чистое решение.