【发布时间】:2017-01-19 12:20:39
【问题描述】:
所以我找到自己creating form request 来验证从表单发布的请求。有时它会变得太复杂,Laravel's Validation Rules 无能为力,所以我在数据服务中进行了另一个验证(在 Controller 中导入)。
我会举一个例子来说明清楚:
作家的帖子和文章。数据请求正在App\Http\Requests\Article\CreateArticleRequest 处理。在验证验证其有效后,请求将被转发到控制器。在控制器中,我将请求发送到 ArticleService 以获取业务逻辑。到目前为止一切顺利。
但是!如果我想自己进行一些特定的验证,而 Laravel 的验证规则无法帮助我。因为那样我就必须为复杂的查询加载一个存储库。
所以这里的大问题是我“仔细检查”请求而不是一次。所以我考虑合并我的 2 个授权(1 个来自 \Request,第二个来自我的Service)。但要实现这一点,我必须加载绑定到其接口的存储库。那么你的解决方案是什么?
【问题讨论】:
-
不能只添加自定义验证规则吗?
-
没有。我不能,因为我正在做复杂的查询,加载它们的唯一方法是从存储库中。只有在我加载它们之后,我才能检查用户是否有权进行该调用。
-
你能告诉我们一些你到目前为止制作的代码吗?
-
您可以使用复杂的自定义验证规则来使用存储库。这是正确的做法,这样表单请求就可以简单地担心授权和将输入映射到相关规则。
-
@Eitan 我的“代码故事”有点不同,我认为在这里发布代码无关紧要。
标签: php laravel validation