我正在使用Laravel 5.1为现有网站创建一个插件。 现有的网站使用Smarty而不是Blade模板系统。
我已经安装了Laravel并且运行良好。 但是,当我创建一个Request
验证器时,它不会将$_SESSION['message']
值发送回页面。
例如,如果我填写表单但将必填字段留空,Laravel会将用户发送回页面,并显示一些错误以告诉用户填写空白必填字段。 但是,我无法在页面上显示错误。
这是我的控制器:
/**
* Add new project.
*
* @param AddNewProjectRequest $request
* @return Redirect
*/
public function add(AddNewProjectRequest $request)
{
// Create new project
$project = $this->project->add($request->only('name', 'number', 'builder', 'overall_budget', 'start_date', 'end_date'));
// Event(s);
Event::fire(new ProjectAdded($project, $request->only('file')));
// Redirect user
return redirect('../superusers/projectAdded');
}
这是我的 Smarty 模板中需要显示错误的部分:
{if $smarty.session.message}
<div class="alert alert-success">
<ul>
<li>{$smarty.session.message}</li>
</ul>
</div>
{/if}
根据 Laravel,每当它返回错误时,您都可以这样做。 这是刀片模板标准
@if (count($errors) > 0)
@foreach ($errors->all() as $error)
{{ $error }}
@endforeach
@endif