public function validateMonthDay(sfValidatorBase $validator, $values) { $limitedMonths = array(2 => $values['year'] ? opCalendarPluginToolkit::isLeap((int) $values['year']) ? 29 : 28 : 29, 4 => 30, 6 => 30, 9 => 30, 11 => 30); if (isset($limitedMonths[$values['month']]) && $limitedMonths[(int) $values['month']] < (int) $values['day']) { throw new sfValidatorError($validator, 'invalid'); } return $values; }