使用了表单请求类后,如何使用 sometimes 复杂条件验证?

面对更复杂的验证情境中,你可以创建一个「表单请求」来处理更为复杂的逻辑。表单请求是包含验证逻辑的自定义请求类。

面对复杂的验证情景,我使用了表单请求,但是这个表单请求似乎并不能支持“复杂的情况啊”
下面文档里介绍的功能:

假设我们有一个专为游戏收藏家所设计的网页应用程序。
如果游戏收藏家收藏超过一百款游戏,我们会希望他们来说明下为什么他们会拥有这么多游戏。
比如说他们有可能经营了一家游戏分销商店,或者只是为了享受收集的乐趣。
为了在特定条件下加入此验证需求,可以在 Validator 实例中使用 sometimes 方法。
$v = Validator::make($data, [
    'email' => 'required|email',
    'games' => 'required|numeric',
]);
$v->sometimes('reason', 'required|max:500', function ($input) {
    return $input->games >= 100;
});

如果我已经用了表单请求类,那么哪来的Validator实例给我写复杂规则呢?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

请问这个你怎么解决的

4年前 评论

@tftree 没解决,不过这只是看文档的时候想到的问题,暂时还没遇到。实在不行就不用FormRequest了呗,不过还是希望能有个答案。

4年前 评论

两种方式:
第一种,创建一个$validator
$this->validator = $validator;
第二种,使用withValidator方法
public function withValidator($validator)
{
}

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!