sfWidgetFormDate для sfWidgetFormInputText с двумя полями - PullRequest
0 голосов
/ 27 июня 2011

У меня есть заявление

$this->setWidget('one_date', new sfWidgetFormDate(array('format' => '%year%  %month%' )));

one_date в MySQL - это отметка времени. Это показывает мне выбранный список с годом и выбранный список с месяцем. Как я могу изменить это для ввода текста для месяца и ввода текста для года? Если я пытаюсь изменить с помощью: sfWidgetFormInputText, то у меня появляется ошибка:

sfWidgetFormInputText не поддерживает следующие параметры: «формат», 'Лет'.

1 Ответ

1 голос
/ 27 июня 2011

Вам понадобятся два отдельных текстовых поля, которые вы объединяете после отправки, чтобы создать свою одну дату.
Выполнение этого может сделать проверку непростой.

$this->setWidgets(array(
      'month' => new sfWidgetFormInputText(),
      'year' => new sfWidgetFormInputText()
   ));
$this->setValidators(array(
      'month' => new sfValidatorInteger(),
      'year' => new sfValidatorInteger()
      ));
if ($this->form->isValid()) {
      $one_date = $this->form->getValue('month') . $this->form->getValue('year');
}
...