如何在验证的after函数中访问请求参数?

时间:2019-01-18 03:25:01

标签: laravel validation request

我想使用$request方法访问after参数。

但是我在下面收到此消息:

Undefined variable: request

我的控制器代码为:

use Validator;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\DTag;

class TagController extends Controller {

    public function setting(Request $request) {

        $validator = Validator::make($request->all(), [
            'd_page_id' => ['required', 'numeric'],
            'name' => ['required', 'max:40'],
        ]);

        $validator->after(function ($validator) {
            $name = $request->get('name');
        });

        if ($validator->fails()) {
            return redirect("tag/create/{$request->input('d_page_id')}")->withErrors($validator)->withInput();
        }

如何访问$request参数?

Laravel版本:5.7.19

谢谢!

1 个答案:

答案 0 :(得分:0)

这样更改代码,

$validator->after(function ($validator) use($request) {
        $name = $request->get('name');
    });

您必须将$request变量传递给after函数,以便可以在after函数内部使用它。

希望您能理解