我使用Laravel Collective系统构建表单,并且尝试使用如下页面重新加载后提交的值填充表单域:
{{ Form::text('id', {{ request('id') }} , array('class' => 'form-control')) }}
这将引发此错误:
语法错误,意外的'{'
答案 0 :(得分:0)
old('id')
应该从上一个请求返回名为id
的输入。
所以在您的情况下:
{{ Form::text('id', old('id') , array('class' => 'form-control')) }}
答案 1 :(得分:0)
问题是您在刀片内部使用刀片:
\/ \/
{{ Form::text('id', {{ request('id') }} , array('class' => 'form-control')) }}
这显然不被接受。
您必须记住,一旦打开刀片标签{{
,刀片会将其转换为:
<?php echo Form::text('id', {{ request('id') }} , array('class' => 'form-control')) ?>
请注意,它不是递归工作的,因此不会翻译第二级刀片标签,并且{
是PHP代码中的无效字符。
要解决此问题,您不应(也不必)使用第二级刀片标签:
{{ Form::text('id', request('id'), array('class' => 'form-control')) }}
当然,我假设存在request()
函数,否则它将引发错误:Call to undefined function request()
。
要解决您的问题(而不是错误),您应该使用old()
方法而不是request()
,因为它使用了Laravel在会话中存储的值。
请注意,这种方法在两种情况下有效: