猿问

Laravel 5:如果存在特定参数,则验证错误

是否使用 Laravel 验证器,如果传递的特定参数返回错误,例如:“密码”将返回错误,无论该参数中的值如何:

[PUT] http://127.0.0.1:8000/app/users/1?password=test // return validation error


茅侃侃
浏览 144回答 2
2回答

湖上湖

最好的方法是创建自定义验证规则。这是一个很好的教程。在您的新验证规则中,您实现它仅在输入的参数为null. 您可以为此使用简单的空检查。

守着星空守着你

如果您想使用验证逻辑以便在请求中包含参数后立即返回错误,即使值为null,您可以做的就是为该参数连接 2 个验证规则:nullable以便您的请求在参数不存在时有效始终为 false 的自定义验证规则,以便在参数存在时请求无效它是这样工作的:$validator = Validator::make($request->all(), [    'password' => [        'nullable',        function ($attribute, $value, $fail) {            $fail($attribute.' should not be included.');        },    ],]);
随时随地看视频慕课网APP
我要回答