在流明中找不到类“验证器”

Posted

技术标签:

【中文标题】在流明中找不到类“验证器”【英文标题】:Class 'Validator' not found in Lumen 【发布时间】:2015-12-27 04:10:53 【问题描述】:

尝试在 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 返回致命错误: 致命错误:在...中找不到类“验证器”

我曾尝试在 Laravel 5 中这样做:

use Illuminate\Support\Facades\Validator;

但随后流明返回 致命错误:在非对象中调用成员函数 make()

有人知道如何在 Lumen 中使用 Validator 类吗?谢谢。

【问题讨论】:

【参考方案1】:

验证器是一个门面。默认情况下,流明中不启用外观。

如果你想使用a外观,你应该取消注释

$app->withFacades();

调用您的bootstrap/app.php 文件。

【讨论】:

我爱你:* xoxox【参考方案2】:

这适用于 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...
);

https://lumen.laravel.com/docs/5.3/validation

【讨论】:

以上是关于在流明中找不到类“验证器”的主要内容,如果未能解决你的问题,请参考以下文章

流明:全新安装时找不到 App\Http\Controllers\Controller 类

找不到类验证器的元数据

在 Laravel 中找不到异常类

type-graphql 找不到模块“类验证器”异常

在转发类中找不到属性

在扩展类中找不到符号[关闭]