2017-12-17 13 views
-1

私はSymfony FormクラスAPIについて知っています。私は任意の値を返すために、このメソッドを取得することはできません

/** 
* Returns the extra data. 
* 
* @return array The submitted data which do not belong to a child 
*/ 
public function getExtraData() 
{ 
    return $this->extraData; 
} 

:私は得ることはありません

ことの一つは、この方法です。マップされていない/認識されていない入力を投稿しようとすると、常に空の配列が返されます。

このメソッドの実際の用途がどのようなものか理解してください。データはいつ「余分」になるのですか?

コード例が理想的です。

ありがとうございました。

答えて

4

余分なデータは、我々のフォームではありませドンすべてのフィールドの送信された値

あなたは私たちが何かを取得します。このフォームをレンダリングした後、何らかの形の子供

$form = $this->createFormBuilder() 
    ->add('form_child') 
    ->add('submit', SubmitType::class) 
    ->getForm(); 

との簡単なフォームを持っていると仮定が含まれていますその

<form name="form" method="post"> 
    <input type="text" id="form_form_child" name="form[form_child]" /> 
    <button type="submit" id="form_submit" name="form[submit]">Submit</button> 
</form> 

のように、私たちは、このフォームを送信して$form->getData()との値を取得しようとした場合我々はそのような何かを取得します:

$form->getData() 
---------------- 
array (size=1) 
    'form_child' => string 'value_child' (length=11) 


$form->getExtraData() 
--------------------- 
array (size=0) 
    empty 

我々は->add('form_child')

は、私たちのクライアント側のフォームの構造を変更してみましょうし、追加し、同じ名前のフォームを作成したのでform_childdataに格納された入力の値我々が得る余分に入力してフォームを送信した後、新たな入力

... 
<input type="text" id="extra_form_child" name="form[extra_child]" /> 
... 

$form->getData() 
---------------- 
array (size=1) 
    'form_child' => string 'value_child' (length=11) 


$form->getExtraData() 
--------------------- 
array (size=1) 
    'extra_child' => string 'extra_child_value' (length=17) 
関連する問題