如何在Doctrine中使用Symfony Widgets
问题描述:
I want to use this widget in my datafield:
'widget' => 'single_text',
but i can't insert in my code:
/**
* @var string
*
* @ORM\Column(name="purchasedate", type="date")
* @Assert\Range(
* min = "2019-01-14",
* max = "2019-04-14"
* )
*
*
* @Serializer\SerializedName("purchasedate")
* @Serializer\Expose()
*
*/
private $purchasedate;
How the field is suppose to be
How i'm building the form :
<div class="form-group col-12">
{{ form_widget(form.user.purchasedate, {'attr': {'class': 'form-control required',
'placeholder': 'Date d’achat (JJ/MM/AAAA)*', 'maxlength': 13}})}}
{% if form_errors(form.user.purchasedate) %}<span class="error-form">{{
form_errors(form.user.purchasedate) }}</span>{% endif %}
</div>
答
You must put it in the formType like this:
$builder->add('purchasedate', DateType::class, array(
'widget' => 'single_text',
'html5' => false,
));
In your case $purchasedate
is a property of User
class, so it should be added to UserType
form type class.