Я использую Symfony 1.2.9, и у меня есть форма, которая содержит два поля даты:
start_date И end_date.
Я хочу наложить следующие критерии проверки для поля 'start_date':
- я). НЕ МОЖЕТ быть меньше сегодняшней даты
II). НЕ МОЖЕТ быть больше, чем end_date
III). НЕ МОЖЕТ быть более 1 месяца
прочь
Для end_date мне нужны следующие ограничения:
- я). Не может быть более 3 месяцев
далеко от сегодняшнего дня
Я написал проверку сообщения следующим образом:
$today = date('Y-m-d');
//post validator check to make sure end date > start date
$this->validatorSchema->setPostValidator(
new sfValidatorAnd(array(
new sfValidatorSchemaCompare('start_date', '<', 'end_date',
array('throw_global_error' => true),
array('invalid' => 'The start date ("%left_field%") must be before the end date ("%right_field%")<br />')
),
new sfValidatorSchemaCompare('start_date', '<', $today,
array('throw_global_error' => true),
array('invalid' => 'The start date ("%left_field%") cannot be earlier than today\'s date: ('.$today.')<br />')
),
new sfValidatorSchemaCompare('end_date', '>', $today,
array('throw_global_error' => true),
array('invalid' => 'The end date ("%left_field%") cannot be before today\'s date ("%right_field%")<br />')
)
)
)
);
Однако это не работает, т. Е. Я еще не нашел способа применить ограничения на основе текущей даты или смещений от сегодняшней даты.
Решение было бы очень кстати.