【问题标题】:Remove constraint validation in DateType fields in Symfony在 Symfony 中删除 DateType 字段中的约束验证
【发布时间】:2016-06-18 12:05:58
【问题描述】:

我有一个带有日期字段的实体,我的问题是我想让用户离开字段月份和年份为空。 所以我想完全删除我的日期字段中的约束验证

我该怎么做?

这是我的字段

    ->add('datefield', DateType::class, array(
        'data' => new \DateTime(),
        'format' => 'dd MMMM yyyy',
        'required' => false,
        'placeholder' => array(
            'month' => 'empty',
            'year' => 'empty'
        )
    ))

和我的实体

/**
 * @var \DateTime
 *
 * @ORM\Column(name="datefield", type="datetime", nullable=true)
 */
protected $datefield;

这是我的错误

This value is not valid.    datefield    Symfony\Component\Validator\ConstraintViolation

Object(Symfony\Component\Form\Form).children[datefield] = [year => null, month => null, day => 18]

Caused by: Symfony\Component\Form\Exception\TransformationFailedException

Unable to reverse value for property path "datefield": The fields "year", "month" should not be empty

Caused by: Symfony\Component\Form\Exception\TransformationFailedException

The fields "year", "month" should not be empty

【问题讨论】:

    标签: php forms validation symfony


    【解决方案1】:

    你是否也尝试过像这样的空值:

    ->add('datefield', DateType::class, array(
        'data'          => new \DateTime(),
        'format'            => 'dd MMMM yyyy',
        'required'      => false,
        'placeholder'   => array(
            'month' => null,
            'year'  => null,
        ),
    ))
    

    我不确定这是否能解决问题。试试看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      • 2012-11-13
      • 2012-08-17
      相关资源
      最近更新 更多