参数值缺失或等号缺失时,Laravel 5.2验证失败

时间:2019-06-26 13:17:07

标签: php laravel request

有一个请求
/web/v1/documents/?date=2019-05-22&sort=category

控制者:

$sort   = $request->get('sort', 'commodity');

此值是可选的,在此处进行验证:

DocumentsReportRequest:

public function rules()
{
    return [
        'sort' => ['in:commodity,category'],
    ];
}

如果需要
/web/v1/documents/?date=2019-05-22&sort

/web/v1/documents/?date=2019-05-22&sort=

验证规则不起作用,我收到了错误消息。

在这种情况下是否可以验证参数?

2 个答案:

答案 0 :(得分:0)

您可以将nullablesometimes规则添加到您的验证中,如下所示:

public function rules()
{
    return [
        'sort' => ['nullable', 'in:commodity,category'],
    ];
}

或者present,它要求密钥存在于请求中,但是可以为空。

答案 1 :(得分:0)

如果参数并非始终可用,则可以使用nullable验证

public function rules()
{
    return [
        'sort' => ['nullable','in:commodity,category'],
    ];
}