ins*_*ere 0 datetime symfony twig
我还在那个地方DateTime,现在我遇到了这两个问题.
我有一个窗体上两个字段date_start和date_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)
{% 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" )似乎没有任何效果.我不知道如何改变这两者date和time单独的.
任何帮助都是极好的.
对于第二个问题,由于在验证之前发生数据转换失败,因此设置了错误消息"此值无效".所以@Assert实际上是无关紧要的.您可以通过invalid_message在表单字段声明中设置选项来更改消息.