[英]Disabling a text box depending of a condition in symfony formType
我在Symfony2中很陌生,並且表單類型有問題。
我在數據庫中有表“ messages”,每個消息都有一個id,消息和所有者。
然后,我必須在表單中顯示這些消息。 所以我這樣做:
->add('shortComment', 'text', array(
'label' => 'Short Message',
'data' => $this->_predefinedMessage->getShortComment()))
所以,對我來說,問題是當我想在以下情況下禁用此文本框時:
owner != currentUser
我不知道該怎么做。 我將不勝感激。
非常感謝。
一種解決方案是將$ disabled字段發送到表單中,但在控制器內部對其進行初始化:
$disabled = $owner == $currentUser ? false : true;
$form = $this->createForm(new YourFormType($disabled), $messageEntity);
在YourFormType.php中
class YourFormType extends AbstractType
{
protected $disabled;
public function __construct($disabled){
$this->disabled = $disabled;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('shortComment', 'text', array(
'label' => 'Short Message',
'disabled' => $this->disabled
));
}
}
希望對您有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.