Impossible to validate the input_date_tag's generated date selects with sfDateValidator, because the input_date_tag's generated selects result in a named array in php:
array ('day', 'month', 'year')
...but sfDateValidator accepts only string-type date.
The solution is to patch sfDateValidator like this:
protected function getValidDate($value, $culture)
{
if (is_array ($value))
{
$d = @$value ['day'];
$m = @$value ['month'];
$y = @$value ['year'];
}
else
{
// Use the language culture date format
$result = $this->getContext()->getI18N()->getDateForCulture($value, $culture);
list($d, $m, $y) = $result;
if ($result === null)
{
return null;
}
}
// Make sure the date is a valid gregorian calendar date also
if (!checkdate($m, $d, $y))
{
return null;
}
return strtotime("$y-$m-$d 00:00");
}