Форма: Избегайте установки пустого поля в не отправленное

У меня есть простая модель (упрощенная из источника):

class Collection
{
    public $page;
    public $limit;
}

И тип формы:

class CollectionType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('page', 'integer');
        $builder->add('limit', 'integer');
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'FSC\Common\Rest\Form\Model\Collection',
        ));
    }
}

Мой контроллер:

public function getUsersAction(Request $request)
{
    $collection = new Collection();
    $collection->page = 1;
    $collection->limit = 10;

    $form = $this->createForm(new CollectionType(), $collection)
    $form->bind($request);

    print_r($collection);exit;
}

Когда яPOST /users/?form[page]=2&form[limit]=20ответ - то, что я ожидаю:

Collection Object
(
    [page:public] => 2
    [limit:public] => 20
)

Теперь, когда яPOST /users/?form[page]=3ответ:

Collection Object
(
    [page:public] => 3
    [limit:public] =>
)

limit становится нулевым, потому что он не был представлен.

Я хотел получить

Collection Object
(
    [page:public] => 3
    [limit:public] => 10 // The default value, set before the bind
)

Question: Как я могу изменить поведение формы, чтобы оно игнорировало не представленные значения?

Ответы на вопрос(2)

Ваш ответ на вопрос