【问题标题】:Call controller method after validation in Lumen在 Lumen 中验证后调用控制器方法
【发布时间】:2020-03-07 00:00:38
【问题描述】:

这是来自 Lumen 官方文档的代码

$router->post('/user', function (Request $request) {
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required|email|unique:users'
    ]);

    // Store User...
 });

但是如何在验证后调用控制器方法? Docs 对此只字未提,请提出建议。

【问题讨论】:

    标签: laravel lumen


    【解决方案1】:

    在这种情况下,你没有将控制器作为参数传递给路由,你传递了一个闭包,从技术上讲这就是你的逻辑(如果你想使用下面的控制器检查代码)

    但我认为这是你应该做的

    $router->post('/user','MyController@myMethod');
    

    然后在你的控制器中

    public function myMethod(Request $request){
       $this->validate($request, [
            'name' => 'required',
            'email' => 'required|email|unique:users'
        ]);
    
       // You do whatever floats your boat here
    }
    

    【讨论】:

    • 谢谢,我已经在控制器完成了,但想知道为什么作者将这样的代码放在官方文档中:(
    • 因为它是关于验证而不是关于我假设的控制器,它也记录在我假设的 laravel 文档中
    • @AlexeyShatrov 通过分享链接您的贡献是什么?他的代码已经从那里复制了,他在问别的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    相关资源
    最近更新 更多