我正在使用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>
答案 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
}