суббота, 11 декабря 2010 г.

Как убрать поле "День" из виджета даты?

Предположим, нужно сделать виджет для выбора ГОДА+МЕСЯЦА. Проще всего для этих целей подойдет стандартный sfWidgetFormDate. Убираем у него поле для выбора дня:
$this->widgetSchema['month']->setOption('format','%month% %year%');

Но теперь сохранение формы дает ошибку Invalid на этом поле. Конечно: валидатор-то ожидает все три поля. Хорошо, не будем обманывать его ожиданий :) Дописываем в классе формы:

  function doBind(array $values)
  {
    $values['your_month_field_name']['day']=1;
    parent::doBind($values);
  }

вот и все

Комментариев нет:

Отправить комментарий