2016-12-17 56 views
2

我想創建一個用戶設置面板。Symfony3「選項」佔位符「不存在。」

在我想有一個與用戶有自己的PARAM的當前值的佔位符的形式。

這裏是一個示例代碼:

//... 

$form = $this->createFormBuilder($user) 
      ->add('Username', TextType::class, array(
       'label' => "Change UserName", 
       'placeholder' => $userData[0]->getUsername() 
      )) 
//... 

使用這些值我在瀏覽器中得到這個錯誤:

選項「佔位」不存在。定義的選項爲: 「action」,「allow_extra_fields」,「attr」,「auto_initialize」, 「block_name」,「by_reference」,「compound」,「constraints」, 「csrf_field_name」,「csrf_message」,「csrf_protection」 「csrf_token_id」, 「csrf_token_manager」, 「數據」, 「data_class」, 「無效」, 「empty_data」, 「error_bubbling」, 「error_mapping」, 「extra_fields_message」, 「inherit_data」, 「invalid_message」,「invalid_message_parameters 「, 」label「,」label_attr「,」label_format「,」mapped「,」method「, 」post_max_size_message「,」property_path「,」required「, 」translation_domain「,」trim「,」upload_max_size_message「, 「validation_groups」。

由於'data' => $userData[0]->getUsername()的工作原理和顯示正確的信息,所以只有參數本身存在問題。

這裏是我的頁面的使用參數:

namespace AppBundle\Controller; 

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use AppBundle\Entity\Task; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\Form\Extension\Core\Type\TextareaType; 
use Symfony\Component\HttpFoundation\Request; 
use Symfony\Component\Form\Extension\Core\Type\TextType; 
use Symfony\Component\Form\Extension\Core\Type\SubmitType; 
use AppBundle\Entity\Post; 
use AppBundle\Entity\User; 

回答

10

placeholder是HTML屬性。

$form = $this->createFormBuilder($user) 
     ->add('Username', TextType::class, array(
      'label' => "Change UserName", 
      'attr' => array(
       'placeholder' => $userData[0]->getUsername() 
       ) 
      ) 
     ) 
+0

像魅力一樣工作,謝謝:D – aln447

+0

選項「類型」不存在。 – mobizen