首页 > 解决方案 > Laravel 8:找不到类'App\Http\Controllers\Admin\Rule'

问题描述

我正在使用 Laravel 8 开发我的项目,并且我在Admin目录下创建了一个资源控制器,如下所示:

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;

public function update(Request $request, User $user)
{
    $data = $request->validate([
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email',
            'max:255', Rule::unique('users')->ignore($user->id)],
    ]);

    if (!is_null($request->password)) {
        $request->validate([
            'password' => ['required', 'string', 'min:8', 'confirmed'],
        ]);

        $data['password'] = $request->password;
    }

    $user->update($data);

    if ($request->has('verify')) {
        $user->markEmailAsVerified();
    }

    return redirect(route('admin.users.index'));
}

如您所见,我使用该方法update是因为它具有某种形式的验证。但是每当我尝试以 Blade 文件的形式更新数据时,我都会收到此错误:

找不到错误 类“App\Http\Controllers\Admin\Rule”

我什至尝试添加use Illuminate\Support\Facades\Validator;但仍然收到错误。我该如何解决这个错误?

标签: phplaravellaravel-8

解决方案


在你的文件中调用它

use Illuminate\Contracts\Validation\Rule;

推荐阅读