首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony2表单输入数字范围

Symfony2表单输入数字范围
EN

Stack Overflow用户
提问于 2014-05-13 06:40:21
回答 1查看 644关注 0票数 0

使用Symfony2的表单生成器最好的方法是什么,用户可以输入2个数字,从第一个数字到最后一个数字。例如,用户想要输入机架编号2到5,而控制器必须输入数据库机架编号2、3、4和5。如果输入5-9,则数据库输入5、6、7、8、9,依此类推。

然而,数据库只有一列'Rack‘,所以我不知道在标识每个字段时使用哪个名称……

会是这样的吗?

代码语言:javascript
复制
$builder
        ->add('rackno', 'integer', array(
                'label' => 'Rack: '
            )) // first rack #
        ->add('rackno', 'integer', array(
                'label' => 'To: '
            )) // last rack #
        ->add('Submit', 'submit');
EN

回答 1

Stack Overflow用户

发布于 2014-05-13 17:56:58

你可以添加

代码语言:javascript
复制
'mapped' => false 

并将表单中两个字段的名称分别设置为rackno_fromrackno_to,这样它们的值就不会分配给$object->rackno字段

然后,在提交表单后,您可以随心所欲地处理这些值,并在对象保存后执行所需的插入操作。所以你会有:

代码语言:javascript
复制
$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');

然后在您提交表单之后

代码语言:javascript
复制
if($form->isValid())
{

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

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23620098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档