Symfony 4.1将DateType设置为欧洲格式

时间:2019-01-31 23:19:27

标签: symfony date symfony4

我目前正在使用Symfony表单构建器来处理表单,但是在更改日期格式时遇到一些问题。

我创建了一个DateType扩展名以覆盖所有字段的默认值,这是我的代码:

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(
        array(
            'placeholder' => ['year' => 'Jaar', 'month' => 'Maand', 'day' => 'Dag',],
            'years' => range(1920, 2019),
            'format' => 'dd-MM-yyyy',
        )
    );
}

您可以在format选项中看到,我尝试将默认格式更改为'dd-MM-yyyy',但没有成功。 (默认为yyyy-MM-dd)

这不会改变实际的格式,只是在前端显示2个“-”。 As seen here

有人知道如何解决这个问题吗? Symfony文档使用:

    'widget' => 'single_text',

但这将意味着前端代码中的许多更改。

1 个答案:

答案 0 :(得分:0)

single_text小部件的默认值为yyyy-MM-dd,但是您可以通过将格式作为字符串传递来覆盖它。

use Symfony\Component\Form\Extension\Core\Type\DateType;
$builder->add('date_created', DateType::class, [
'widget' => 'single_text',
'format' => 'dd-MM-yyyy',
]);

来源:https://symfony.com/doc/current/reference/forms/types/date.html