我正在开发 Laravel 应用程序。在UserRequest
我验证输入。以下规则:
'name' => 'sometimes|required|string|min:2|max:50'
如果存在sometimes
关键字,但不存在用户名,则失败。以下请求可以正常工作:
'name' => 'sometimes|string|min:2|max:50'
我不是第一个遇到这个问题的人(请参阅Laravel 验证需要的规则不起作用)。
但是,文档说我应该使用第一个选项:
在某些情况下,您可能希望仅当输入数组中存在该字段时才对该字段运行验证检查。要快速完成此操作,请将有时规则添加到您的规则列表中:
$v = Validator::make($data, [
'email' => 'sometimes|required|email',
]);
在上面的示例中,电子邮件字段只有在 $data 数组中存在时才会被验证。
(https://laravel.com/docs/5.1/validation)
有人知道我做错了什么还是需要报告的错误?