【发布时间】:2021-03-05 00:31:43
【问题描述】:
我在 Laravel 中使用表单请求进行验证。我注意到一种一直出现的模式,但我在 SE 上找不到解决方案(或者至少谷歌搜索对我没有帮助)。
假设我们正在创建一个 API,并且我们正在使用 Laravel 的 apiResource 来创建常用的 CRUD 方法:store、update 和 delete
显然,当我们存储新记录时,字段 id 不是必需的,但其余字段可能是必需的(并且在大多数情况下是必需的)。但是当我们更新记录时,我们面临相反的情况。 id 为必填项,其他字段不再需要。
是否可以在 Laravel 中通过一个表单请求来处理这种情况?我们可以智能地使用 Laravel 的required_if 来避免代码重复吗?
编辑:它不一定是 Laravel 解决方案。使用 PHP 的解决方案也可以(只要它干净且遵循 SOLID 原则)。
【问题讨论】:
-
您是否将 id 字段公开为可由用户操作的表单输入?如果 id 是主键,则不建议公开 id 字段以通过表单进行操作。如果您没有通过表单公开 id 字段,那么我猜它甚至不需要任何验证。
标签: php laravel validation