这是在 laravel 中验证表单请求,请求包含过滤器,过滤器中的字段名称存在句点(点)。
样品请求网址
...?filter[entity.abc][]='value'
这里 entity.abc 实际上是一个字符串,但是当为 'filter.entity.abc' 给出规则时,laravel 认为它是对象数组
filter:[
[entity]: [ {abc:'value'}]
]
这实际上是
filter:[
[entity.abc]:['value']
]
所以我们需要为第二个点制作正则表达式,相当于:
public function rules()
{
return [
'filter.entity\.abc' => ['bail', 'sometimes', 'array'],
'filter.entity\.abc' => ['uuid']
];
}
以上总是返回 true,即使存在无效的 uuid