【问题标题】:Error messages does not print in blade laravel 5.2刀片 laravel 5.2 中不打印错误消息
【发布时间】:2017-11-03 13:46:33
【问题描述】:

我正在开发 Laravel 5.2,其中我有这个带有一些字段的表单。在提交时,我正在检查值反对少数规则。当我这样做时,我会在其回调中收到验证消息

print_r($messages);死;

在控制器中。

但它没有在刀片中显示错误消息。

它在我的 localhost 中运行良好,但我托管它的服务器是 bluemix 服务器。这根本不显示错误消息。我也尝试在那里调试。我在控制器中有错误消息。但未在视图中显示。

        $validator = Validator::make(Input::all(), static::$rules, static::$messages);
        $validator->setAttributeNames(static::$names);
        if ($validator->fails()) {
            $messages = $validator->messages();
            return Redirect::back()->withInput()->withErrors($messages);
        }

鉴于我将其打印为

<input type="text" class="form-control" id="FirstName" name="FirstName" value="{{ old('FirstName') }}">
<div class="error">{{ $errors->first('FirstName') }}</div>

【问题讨论】:

  • 而不是 print_r($messages);死;你可以在 laravel 中使用 dd($messages)。
  • 如果你使用-&gt;get('FirstName')而不是-&gt;first呢?
  • @Marwelln htmlentities() 期望参数 1 是字符串,给定数组(查看:/home/vcap/app/htdocs/resources/views/user/register.blade.php)我有这个
  • 在文档中是否存在问题,您应该在 withErrors 中传递 $validator 对象而不是 $messages?
  • @Autista_z 我也通过了,但没有运气。

标签: php forms laravel laravel-blade


【解决方案1】:

带有错误的重定向只是将验证错误消息闪烁到会话中。看起来你的错误没有被闪现。我猜你没有使用 web 中间件组。您需要将您的路由放置在 web 中间件组中才能使会话正常工作。

例子

Route::group(['middleware' => ['web']], function () {
    Route::get('/', function () {
        return view('welcome');
    });
});

编辑

你也可以像这样简化你的代码。

public function test(Request $request)
{
    $validator = Validator::make($request->all(), static::$rules, static::$messages, static::$names);

    if ($validator->fails()) {
        return redirect()->back()->withErrors($validator)->withInput();
    }

    // handle success
}

或者

public function test(Request $request)
{
    $this->validate($request, static::$rules, static::$messages, static::$names);

    // handle success
}

【讨论】:

  • @FazeelaAbuZohra 你能运行php artisan route:list 并发布结果吗?还要提到显示表单的路线。
  • 它在我的本地主机上运行良好,问题出在我的 bluemix 服务器上。他们不提供 ssh 控制。
  • @FazeelaAbuZohra 你能从你的视图中试试 {{ var_dump($errors) }} 看看验证错误的值是什么。
  • 会话它正在工作我可以打印会话变量。 var dump 是一个空错误。是不是 bluemix 服务器的问题?
  • 添加 var_dump n 查看 $errors 包含的验证失败
猜你喜欢
  • 2015-07-22
  • 1970-01-01
  • 2016-09-12
  • 2016-08-15
  • 2017-03-01
  • 2018-03-26
  • 2016-08-02
  • 2016-09-29
  • 1970-01-01
相关资源
最近更新 更多