2011-05-03 19 views
0

我試着去渲染一些額外的樣式模板的行字段,就像這樣:symfony1.2版本形式renderRow錯誤消息的問題

<?php echo $form['email']->renderRow(array('class' => 'text')) ?>  
<?php echo $form['email']->renderError() ?> 

當我的形式犯規驗證此字段......那麼將出現問題它顯示錯誤消息2次!即renderRow呈現一個errorMsg字符串,並且renderError再次執行它......我如何停止renderRow顯示錯誤消息?

如果我只是這樣做,那麼它的工作原理:

<?php echo $form['email'] ?> 

但在這種情況下,我不能風格,因爲我想現場....

的感謝!

回答

4

我很確定這也適用於1.2。代替使用renderRow,請使用像這樣的東西:

<?php echo $form['FormElementName']->renderLabel() ?> //display form element label 
<?php echo $form['FormElementName']->renderError() ?> //display form element error (if exist) 
<?php echo $form['FormElementName']->render(array('class' => 'text')); ?> //display form element 

renderRow一次完成所有操作。

編輯From comments(Flask) - added - > render(array('class'=>'text'));

+0

謝謝!但是,我如何添加一個樣式到我的表單組件? – Jojje 2011-05-04 09:50:28

+0

您可以在小部件上指定HTML屬性。通過這種方式,您可以指定HTML'class'屬性,然後在CSS中使用它來應用樣式。更多信息可以在這裏找到:http://www.symfony-project.org/forms/1_2/en/01-Form-Creation#chapter_01_sub_the_widgets_html_attributes – jgallant 2011-05-04 10:29:47

+0

use'<?php echo $ form ['FormElementName'] - > render(數組('class'=>'text')); ?>'而不是'<?php echo $ form ['FormElementName']?>' – Flask 2011-05-04 10:39:13