Class 'Validator' 未在 Lumen 中找到
Class 'Validator' not found in Lumen
尝试在 Lumen 中手动创建验证器。官方文档是这么写的:
<?php
namespace App\Http\Controllers;
use Validator;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PostController extends Controller
{
/**
* Store a new blog post.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
if ($validator->fails()) {
return redirect('post/create')
->withErrors($validator)
->withInput();
}
// Store the blog post...
}
}
我写了
<?php
namespace App\Http\Controllers;
use Laravel\Lumen\Routing\Controller as BaseController,
Validator;
class Welcome extends BaseController
{
public function index()
{
$validator = Validator::make(
['test' =>'TestValidation'],
['test' => 'required|unique:posts|max:255']
);
}
}
但是 Lumen returns 致命错误:
致命错误:Class 'Validator' 未在 ...
中找到
我已经尝试过 Laravel 5:
use Illuminate\Support\Facades\Validator;
然后流明 returns
致命错误:在
中的非对象上调用成员函数 make()
有人知道如何在 Lumen 中使用验证器 class 吗?谢谢。
验证器是一个门面。 Facades 在 lumen 中默认不启用。
如果您想使用外观,您应该取消注释
$app->withFacades();
调用您的 bootstrap/app.php
文件。
这适用于 Lumen 5.3 版(如文档中所示):
use Illuminate\Http\Request;
$app->post('/user', function (Request $request) {
$this->validate($request, [
'name' => 'required',
'email' => 'required|email|unique:users'
]);
// Store User...
});
尝试在 Lumen 中手动创建验证器。官方文档是这么写的:
<?php
namespace App\Http\Controllers;
use Validator;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PostController extends Controller
{
/**
* Store a new blog post.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
if ($validator->fails()) {
return redirect('post/create')
->withErrors($validator)
->withInput();
}
// Store the blog post...
}
}
我写了
<?php
namespace App\Http\Controllers;
use Laravel\Lumen\Routing\Controller as BaseController,
Validator;
class Welcome extends BaseController
{
public function index()
{
$validator = Validator::make(
['test' =>'TestValidation'],
['test' => 'required|unique:posts|max:255']
);
}
}
但是 Lumen returns 致命错误: 致命错误:Class 'Validator' 未在 ...
中找到我已经尝试过 Laravel 5:
use Illuminate\Support\Facades\Validator;
然后流明 returns 致命错误:在
中的非对象上调用成员函数 make()有人知道如何在 Lumen 中使用验证器 class 吗?谢谢。
验证器是一个门面。 Facades 在 lumen 中默认不启用。
如果您想使用外观,您应该取消注释
$app->withFacades();
调用您的 bootstrap/app.php
文件。
这适用于 Lumen 5.3 版(如文档中所示):
use Illuminate\Http\Request;
$app->post('/user', function (Request $request) {
$this->validate($request, [
'name' => 'required',
'email' => 'required|email|unique:users'
]);
// Store User...
});