我正面临着如何在我的laravel项目中实现验证的困境,让我来解释一下情况.
store()update()rules()authorize()现在,这是问题所在.有时插入/编辑操作需要以编程方式完成,例如,无论何时在表A中创建行,都需要在表B中创建一行,但在执行此操作之前,它还应运行相同的验证规则并检查授权如果表B是使用表单请求创建的,但是如果我刚刚调用则表示TableA::Create([])将创建行而不进行任何验证.
当然,我也可以Validator::make()在模型中使用但是,然后,a)它使模型混乱b)是重复的代码
因此,我的目标是确保无论表A的记录如何进入数据库,如果从应用程序完成,将在保存数据之前执行检查,同时保持验证和授权规则的中心.在我看来,要走的路是将模型的"保存"事件挂钩并以某种方式触发formrequest验证器?但我不确定.
我看过Jeffrey Way的自动模型验证器,但那是Laravel 4.在Laravel 5.x中是否有任何优雅的方法可以做到这一点?
另外,作为一个附加问题,当我在其他地方提出这个问题时,有些人说他们"不是基于模型验证的粉丝",没有解释为什么对他们来说这不是一个好主意,所以我也想要知道基于模型的验证有哪些缺点?