I have a symfony4 form that has a CheckboxType
and submitted with string values ('0'
or '1'
). Now, I want to convert them to booleans. When getting the data (view transform), a boolean value should be returned. I have followed this guide.
$builder->add('box', CheckboxType::class, [
'required' => false,
])
$builder->get('box')->addModelTransformer(new CallbackTransformer([$this, 'modelTransform'], [$this, 'modelReverseTransform']));
$builder->get('box')->addViewTransformer(new CallbackTransformer([$this, 'viewTransform'], [$this, 'viewReverseTransform']));
I tried the following functions, but then, the box
value is not even included in the output.
// view reverse transform
public function viewReverseTransform($string)
{
var_dump('viewReverseTransform', $string);
return $string === '1';
}
// view transform -> output
public function viewTransform($bool)
{
var_dump('viewTransform', $bool);
return $bool;
//return $bool === true ? '1' : '0';
}
// model reverse transform
public function modelReverseTransform($bool) {
var_dump('modelReverseTransform', $bool);
return $bool;
}
// model transform
public function modelTransform($bool) {
var_dump('modelTransform', $bool);
return $bool;
}
I tried also some other casting, but it doesn't map the values correctly.