2017-02-15 16 views
1

プロパティタイプのブール値とフォームをこのプロパティタイプの選択に使用します。チェックボックスとフォームの後に常に指定します。trueチェックボックスがオフの場合"0"フォームを送信し、私はチェックプロパティを使用してデータ変換器を作成するが、私はfoの後にまだ本当しているチェックされていない場合transfomerに、私は真のSymfonyフォームタイプの選択フィールドブール値常にtrue

/** 
* Get reversedVat 
* 
* @return boolean 
*/ 
public function getReversedVat() 
{ 
    return (boolean)$this->reversedVat; 
} 

    $builder 
     ->add('reversedVat', CheckboxType::class, ['required' => false]) 

     $builder->get('reversedVat') 
     ->addModelTransformer(new CallbackTransformer(
      function($mypropertyAsBoolean) { 

      }, 
      function($mypropertyAsString) { 
       $r = $mypropertyAsString;//have always true 
      } 
     )); 

を持つ形でtrue

/** 
* @var boolean 
* 
* @ORM\Column(name="reversed_vat", type="boolean", nullable=false, options={"default"=0}) 
*/ 
private $reversedVat; 

    /** 
* Set reversedVat 
* 
* @param boolean $reversedVat 
* 
* @return OutboundInvoice 
*/ 
public function setReversedVat($reversedVat) 
{ 
    $this->reversedVat = (boolean)$reversedVat; 

    return $this; 
} 

を持っていますrm handleRequest?

答えて

1

dataTransformerは必要ありません。 CheckBoxType自体にトランス機能があります。

ReversedVatプロパティは以下のとおりです。

/** 
* @var boolean 
* @ORM\Column(name="reversed_vat", type="boolean", nullable=false, options={"default"=0}) 
*/ 
private $reversedVat = false; 

/** 
* @param bool $reversedVat 
* @return Temp 
*/ 
public function setReversedVat($reversedVat) 
{ 
    $this->reversedVat = $reversedVat; 
    return $this; 
} 

/** 
* @return bool 
*/ 
public function getReversedVat() 
{ 
    return $this->reversedVat; 
} 

確認ブールは、デフォルト値として$ reversedVatに設定されています。

フォームの種類は次のとおりです。

$builder 
    ->add('reversedVat', CheckboxType::class, ['required' => false]) 
関連する問題