您应该将 html5 键/值从 attr 移至 options :
->add('date', DateTimeType::class, array(
'required' => true,
'widget' => 'single_text',
'html5' => false,
'attr' => [
'class' => 'form-control input-inline datetimepicker',
'data-provide' => 'datetimepicker',
],
))
我也面临着同样的问题。 Symfony 中用于日期时间类型的默认表单组件呈现另一组输入字段。
引导方法需要一个“正常”输入字段,其中日期时间呈现为字符串。所以你必须使用TextType::class 为了在实体中使用 DateTime,我添加了一个 EntityTransformer 来处理 sting 和 DateTime 之间的转换以进行读写操作。
你可以这样做:
$builder->get( 'from' )->addModelTransformer( new CallbackTransformer(
function ( $date ) {
return $date->format( 'd.m.Y H:i' );
},
function ( $date ) {
return new \DateTime( $date );
}
) );
我不确定这是唯一的问题,但您可能需要将 DateTimeType::class 更改为 texttype::class。
我希望这能有所帮助! 祝你好运