无法更改DateTime字段的错误/消息并获得重复错误

ins*_*ere 0 datetime symfony twig

我还在那个地方DateTime,现在我遇到了这两个问题.

我有一个窗体上两个字段date_startdate_end双方都接受过这样的定义:

实体

/**
 * @ORM\Column(type="datetime", nullable=true)
 * @Assert\DateTime( message="My error message" )
 */
protected $date_start;
Run Code Online (Sandbox Code Playgroud)

表格类型

->add('date_start', 'datetime', array(
        'label' => 'incoming',
        'date_widget' => 'single_text',
        'time_widget' => 'single_text',
        'date_format' => 'dd/MM/yyyy',
        'with_seconds' => false,
        'required' => false,
    ) )
Run Code Online (Sandbox Code Playgroud)

Twig Fields

{% block form_errors %}
{% spaceless %}
    {% if errors|length > 0 %}
        {% for error in errors %}
            <li>{{ error.messageTemplate }}</li>
        {% endfor %}
    {% endif %}
{% endspaceless %}
{% endblock form_errors %}

{% block field_errors %}{{ block('form_errors') }}{% endblock %}
Run Code Online (Sandbox Code Playgroud)

树枝模板

{{ form_errors(form.date_start.date) }}
{{ form_errors(form.date_end.date) }}

<div class="row{% if form_errors(form.date_start.date) or form_errors(form.date_start.time) %} error{% endif %}">
    {{ form_label(form.date_end, null, { 'attr': {'class': '_hint'} }) }}
    {{ form_widget(form.date_end) }}
</div>
Run Code Online (Sandbox Code Playgroud)

这又完全一样了date_end.

问题

当我为date_start.date 两者 输入错误的输入时<div>获取错误类并且两者都附加了相同的错误.这不会发生反之亦然(date_start.date正确,但date_end.date不是).

第二个问题是错误消息始终显示" 此值无效 ",该行@Assert\DateTime( message="My error message" )似乎没有任何效果.我不知道如何改变这两者datetime单独的.

任何帮助都是极好的.

Mun*_*Das 8

对于第二个问题,由于在验证之前发生数据转换失败,因此设置了错误消息"此值无效".所以@Assert实际上是无关紧要的.您可以通过invalid_message在表单字段声明中设置选项来更改消息.