验证控制器中的路由参数

时间:2015-09-23 21:59:48

标签: laravel laravel-4

我的UserController

中有这样的方法
public function verifyUsername()
{
    $rules = array(
        'username' => 'required|max:30|unique:users,username'
    );

    $validator = Validator::make(Input::all(), $rules);

    if ($validator->fails())
    {
        return Response::json(array(
            'success' => 'false',
            'errors' => $validator->messages()
        ), 400);
    }
    else
    {
        return Response::json(array(
            'success' => 'true'
        ));
    }
}

我希望有这样的网址路径:

/users/verify/username/{username}

如何将路由中的username变量传递给控制器​​中的方法?

1 个答案:

答案 0 :(得分:1)

您传入的数组uses设置为ControllerName@methodName

您可能需要查看Named Routes以获取更多信息。

<强> routes.php文件

Route::get('users/verify/username/{username}', 
           array('uses' => 'UserController@verifyUsername'));

<强>控制器

public function verifyUsername($username)
{
    //it would be nice if this works, but I don't think it will
    $validator = Validator::make(Input::get('username'), $rules);

    // something like this should work
    $data = ['username' => $username];
    $validator = Validator::make($data, $rules);
}