Laravel 验证需要用户是否登录

Eli*_*hen 3 php laravel laravel-validation laravel-request

因此,假设我有一个名为CreateReviewRequest.

在这个请求中,我有这个方法:

/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'name'      => 'required_if(auth->logged)',
        'comments'  => 'required|max:255',
        'stars'     => 'required|min:1|max:5',
    ];
}
Run Code Online (Sandbox Code Playgroud)

正如您在name密钥中看到的那样,name如果他没有登录,我希望客户被要求填写该字段。

所以我的问题是,name当他是客人时,我怎么能确切地要求我的客户填写?

Ale*_*nin 7

您可以使用check()方法:

public function rules()
{
    return [
        'name'      => auth()->check() ? 'required' : '',
        'comments'  => 'required|max:255',
        'stars'     => 'required|min:1|max:5',
    ];
}
Run Code Online (Sandbox Code Playgroud)