Вопрос довольно старый. В текущей версии ZF2 нет необходимости писать новые валидаторы. Просто добавьте фильтр / валидатор, например:
public function getInputFilter()
{
if(!$this->inputFilter){
$inputFilter = new InputFilter();
$inputFilter->add(array(
'name' => 'mock',
'validators' => array(
array('name' => 'Date'),
array(
'name' => 'GreaterThan',
'options' => array(
'min' => date('Y-m-d'),
),
),
),
));
$this->inputFilter = $inputFilter;
}
return $this->inputFilter;
}
И это делает работу. Существует также опция под названием «включительно», которая, если задано значение «истина» (в «опциях» GreaterThan), позволит «сегодня» быть действительной датой