【发布时间】:2016-08-16 02:37:01
【问题描述】:
当我使用 jquery 从日历中插入日期时遇到问题!我认为存在转换问题。 二、尝试使用
{{ form_widget(form.dateArrivage|date("m/d/Y") , {'attr': {'class': 'from'}}) }}<br>
但是: 渲染模板时抛出异常
可捕获的致命错误:Symfony\Component\Form\FormView 类的对象无法转换为字符串
在GestionHotelBundle:Default:index.html.twig 第 147 行。
这是预订类型
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('dateArrivage',DateTimeType::class, array(
'widget' => 'single_text',
'format' => 'dd/MM/yyyy',
'attr' => array('class' => 'date')
))
->add('dateSortie',DateTimeType::class, array(
'widget' => 'single_text',
'format' => 'dd/MM/yyyy',
'attr' => array('class' => 'date')
))
->add('nbjour')
->add('dateReser',DateType::class)
->add('chambres', CollectionType::class, array(
'entry_type' => ChambreType::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
))
->add('save',SubmitType::class)
;
;
}
这就是 vue:
<script>
$( function() {
var dateFormat = "mm/dd/yy",
from = $( ".from" )
.datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 2
})
.on( "change", function() {
to.datepicker( "option", "minDate", getDate( this ) );
}),
to = $( ".to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 2
})
.on( "change", function() {
from.datepicker( "option", "maxDate", getDate( this ) );
});
function getDate( element ) {
var date;
try {
date = $.datepicker.parseDate( dateFormat, element.value );
} catch( error ) {
date = null;
}
return date;
}
} );
{{ form_start(form) }}
{{ form_label(form.dateArrivage) }}
{{ form_errors(form.dateArrivage) }}
{{ form_widget(form.dateArrivage , {'attr': {'class': 'from'}}) }}<br>
<br><br>
{{ form_label(form.dateSortie) }}
{{ form_errors(form.dateSortie) }}
{{ form_widget(form.dateSortie, {'attr': {'class': 'to'}}) }}<br><br>
<br><br>
{{ form_row(form.nbjour) }}
{{ form_row(form.dateReser) }}
【问题讨论】:
-
你不应该传递像
form.dateArrivage|date("m/d/Y")这样的表单视图,而应该简单地传递form.dateArrivage。 -
同样的问题这个值无效
标签: symfony