私はまだそのDateTime
分野にいます、そして今私はそれらの2つの問題を抱えています。
1つのフォームに2つのフィールドがdate_start
ありdate_end
、両方が次のように定義されています。
実在物
/**
* @ORM\Column(type="datetime", nullable=true)
* @Assert\DateTime( message="My error message" )
*/
protected $date_start;
フォームタイプ
->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,
) )
小枝フィールド
{% 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 %}
小枝テンプレート
{{ 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>
そして、これもまったく同じですdate_end
。
問題点
date_start.date
両方 に間違った入力を入力する<div>
と、エラークラスが取得され、両方に同じエラーが付加されます。これはその逆ではありません(date_start.date
正しいですが、そうではdate_end.date
ありません)。
2番目の問題は、エラーメッセージに常に「この値は無効です」と表示され、その行@Assert\DateTime( message="My error message" )
は効果がないように見えることです。date
そして、これを両方とtime
別々に変更する方法がわかりませんでした。
どんな助けでも素晴らしいでしょう。