簡體   English   中英

Symfony2表單輸入數字范圍

[英]Symfony2 form entering number range

使用Symfony2的表單生成器的最佳方法是什么,用戶可以輸入兩個數字,范圍從第一個到最后一個。 例如,用戶想要輸入2到5的機架號,控制器將必須輸入2、3、4和5的數據庫機架號。如果輸入5-9,則數據庫輸入5、6、7 ,8、9等。

但是,數據庫只有一列“機架”,因此我不知道在標識每個字段時要使用哪個名稱...

會是這樣嗎?

$builder
        ->add('rackno', 'integer', array(
                'label' => 'Rack: '
            )) // first rack #
        ->add('rackno', 'integer', array(
                'label' => 'To: '
            )) // last rack #
        ->add('Submit', 'submit');

您可以添加

'mapped' => false 

並將它們的名稱分別設置為rackno_fromrackno_to到表單中的兩個字段,因此它們的值將不會分配給$object->rackno字段

然后,在提交表單之后,您可以對值進行任何操作,並在保存對象之后執行所需的插入操作。 因此,您將擁有:

$builder
        ->add('rackno_from', 'integer', array(
                'label' => 'Rack: ',
                'mapped' => false
            )) // first rack #
        ->add('rackno_to', 'integer', array(
                'label' => 'To: ',
                'mapped' => false
            )) // last rack #
        ->add('Submit', 'submit');

然后在您提交表格之后

if($form->isValid())
{

// get the rackno_from and rackno_to from form and do what you need with those values

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM