刀片层5.2中不会打印错误消息

时间:2017-06-02 08:14:52

标签: php forms laravel laravel-blade

我正在使用Laravel 5.2,我在这里有一些字段。提交我正在检查几乎没有规则的价值观。当我做

时,我在其回调中收到验证消息
  

的print_r($消息);死;

在控制器中。

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

它在我的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>

1 个答案:

答案 0 :(得分:0)

重定向错误只会将验证错误消息闪烁到会话中。看起来你的错误没有闪现。我猜你没有使用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
}