仅在满足条件的情况下如何为一个字段设置默认值

时间:2019-07-02 10:36:05

标签: php forms symfony-1.4

我有一个包含以下字段的奖状:

artist -> Choice (Related model artist)
prize_type
year

创建新的奖品对象时,我没有任何问题。现在,我想在“艺术家”视图上有一个名为Create Prize的按钮,单击该按钮时需要进入一个表单,但是我希望默认选择artist字段。

如何根据该URL的来源为此字段设置默认值?

我试图在URL中检索我的演出者ID,所以得到了这样的内容:

  

“ prize / new?id_artist = 23”

但是我不知道如何在$form['id_artist']字段中插入该ID。

我尝试使用setDefault选项,但这仅适用于占位符:

$this->form->setDefault('id_artist', $request->getParameter("id_artist"));

我也隐藏了模板中的相关字段,因为我不想从该URL获得它

<?php if(!$id_artist): ?>
            <div class="control-group <?php echo $form['id_artist']->hasError()?'error':''; ?>">
                <?php echo $form['id_artist']->renderLabel('Artist ',array('class' => 'control-label')) ?>
                <div class="controls">
                    <?php echo $form['id_artist']?>
                    <small class="help-inline">Artist</small>
                    <?php if($form['id_artist']->hasError()): ?>
                        <small class="help-inline">(<?php echo $form['id_artist']->getError() ?>)</small>   
                    <?php endif; ?> 
                </div>
            </div>
        <?php endif; ?>

我尝试直接将id_artist直接设置为该参数,但由于需要格式为Artist的我而出现错误。

0 个答案:

没有答案