2

我正在开发 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

有人知道我做错了什么还是需要报告的错误?

4

0 回答 0