【发布时间】:2017-09-03 02:28:49
【问题描述】:
我有一组复杂的规则,可以动态构建,但理想情况下,我需要先验证一组规则,然后再继续下一个,即
我有一个 json 对象 {data: {}},我想在继续验证嵌套在 data 中的字段之前检查它是否存在,这些字段还有其他嵌套字段等。
我想有一个FormRequest 类,比如ApiRequest,它可以验证data,然后是另一个,比如UploadRequest,它在data 已经被验证的基础上添加了更多规则。
我可以做到这一点,并且它可以通过在 UploadRequest 的构造函数中注入 ApiRequest 来实现,这允许在继续下一组之前在 ApiRequest 中验证完整的规则集:
/**
* UploadRequest constructor.
* @param ApiRequest $apiRequest
*/
public function __construct(ApiRequest $apiRequest) {
// If we got here, ApiRequest passed validation, woo!
}
这看起来像是一种反模式还是处理此问题的“错误”方式? 我试图考虑一个由迷你请求组成的请求,即通过 api 的上传请求实际上是一个 api 请求,然后是一个上传请求等。但我不确定我是否只是想证明这一点我自己。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
标签: forms laravel validation request