Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel Validator“in:”没有看到第一个元素_Laravel_Validation - Fatal编程技术网

Laravel Validator“in:”没有看到第一个元素

Laravel Validator“in:”没有看到第一个元素,laravel,validation,Laravel,Validation,我有以下规则集。如果在输入字段中输入数组中的第一个元素,in:规则将失败,并且未找到。但是,如果选择了第二个或后续元素,则规则将触发ok。还有其他人有这个问题吗?我使用的是Laravel7 "title": "required|min:2|max:50|regex:/^[a-zA-Z][a-zA-Z ]+$/u", "target_start_date": "required|date_format:Y-m-d|after_o

我有以下规则集。如果在输入字段中输入数组中的第一个元素,in:规则将失败,并且未找到。但是,如果选择了第二个或后续元素,则规则将触发ok。还有其他人有这个问题吗?我使用的是Laravel7

"title": "required|min:2|max:50|regex:/^[a-zA-Z][a-zA-Z ]+$/u",
"target_start_date": "required|date_format:Y-m-d|after_or_equal:today",
"target_finish_date": "required|date_format:Y-m-d|after_or_equal:target_start_date",
"genre": "required|in:[adventure,action,biographical,contemporary,crime,thriller,mystery,fantasy,historical,horror,medical,myths,political,romance,sci_fi,war]",
"visibility": "required|in:[public,friends,public]",
"owner_starts": "required|in:[yes,no,sequence,random]",
"owner_finishes": "required|in:[yes,no,sequence,random]"

这不是您为in规则指定值的方式;您只需将选项指定为逗号分隔的字符串。例如:

“可见性”=>[“必需”,“在:公共场合,朋友”], 我还使用了“array”语法来指定规则,因为它使每个单独的验证规则更易于查看,而不是一个长字符串,其中充满了|个字符

如果可用选项作为数组存储在应用程序的其他位置,例如存储库或配置文件,则可以根据Charlie的回答将该选项数组直接传递给“流畅”规则生成器:

“流派”=>[ “必需”, 规则::在$genres中, ],
如果要使用此方法,请确保导入illumb\Validation\Rule。

这不是为in规则指定值的方式;您只需将选项指定为逗号分隔的字符串。例如:

"owner_finishes": "required|in:[yes,no,sequence,random]"
“可见性”=>[“必需”,“在:公共场合,朋友”], 我还使用了“array”语法来指定规则,因为它使每个单独的验证规则更易于查看,而不是一个长字符串,其中充满了|个字符

如果可用选项作为数组存储在应用程序的其他位置,例如存储库或配置文件,则可以根据Charlie的回答将该选项数组直接传递给“流畅”规则生成器:

“流派”=>[ “必需”, 规则::在$genres中, ], 如果要使用此方法,请确保导入Illumb\Validation\Rule

"owner_finishes": "required|in:[yes,no,sequence,random]"
应该是:

use Illuminate\Validation\Rule;

 'owner_finishes' => [
        'required',
        Rule::in(['yes', 'no', 'sequence', 'random']),
    ],
正如政府所说:

由于此规则通常要求您内爆数组,因此可以使用rule::in方法流畅地构造规则:

应该是:

use Illuminate\Validation\Rule;

 'owner_finishes' => [
        'required',
        Rule::in(['yes', 'no', 'sequence', 'random']),
    ],
正如政府所说:

由于此规则通常要求您内爆数组,因此可以使用rule::in方法流畅地构造规则:


值得注意的是,这是字符串语法。还有我在回答bellow中指定的类验证器语法,值得注意的是,这是字符串语法。你也有我在回答Bellow中指定的类验证器语法,我想如果你删除了你的价值观,比如:冒险、动作、传记、当代、犯罪、惊悚、神秘、幻想、历史、恐怖、医学、神话、政治、浪漫、科幻、战争,这一切都会起作用。这是用于构造规则的较旧语法,但仍然有效。这是用于构造规则的较旧语法,但仍然有效@是蒂姆·刘易斯吗?自从4.0测试版以来,我一直在使用Laravel,我从来没有遇到过在值中指定的语法。@MartinBean是的!我正在看我的一个Laravel6.x项目,这就是我如何使用in规则:“model_id”=>“required”| in:”$validModels->Pulk'id'->introde',',,这相当于'model_id'=>'required | in:1,2,3',它工作得很好:我从Laravel 4.2-ish:@MartinBean开始就一直在使用它。哦,不,那是无效的。它实际上是在寻找[值和此处]作为有效选项,而不是值和此处:P这就是它没有看到第一个元素的原因。”[adventure]与“adventure”不一样lol抱歉,我不是说[and]是有效的,我现在看到的是我的评论内容。感谢各位,括号[]导致了问题。非常感谢快速帮助我认为如果您删除[and]的话,这会起作用围绕你的价值观,比如:冒险、动作、传记、当代、犯罪、惊悚片、神秘、幻想、历史、恐怖、医学、神话、政治、浪漫、科幻、战争。这是构建规则的旧语法,但仍然有效。这是构建规则的旧语法,但仍然有效。@Timleis是吗?正如我一直在使用的Laravel的一样自从4.0测试版以来,我从未遇到过用于指定in值的语法。@MartinBean是的!我正在查看我的一个Laravel 6.x项目,这就是我如何使用in规则:“model_id'=>“required”in:“.$validModels->pull'id'->introde',”,它等同于“model_id'=>“required”;“in:1,2,3',它工作得很好:我一直在使用在自Laravel 4.2-ish:@MartinBean哦,不,那是无效的。它实际上是在寻找[值,这里]作为有效的选项,而不是值,这里:P这就是为什么它没有看到第一个元素。“[冒险”与“冒险”不同lol抱歉,我不是指[和]是有效的,我现在看到的是我的评论内容。谢谢各位,括号[]造成了问题。非常感谢快速帮助