ここでは、laravel でフォーム リクエストを検証します。リクエストにはフィルタが含まれており、フィルタのフィールド名にはピリオド(ドット)が存在します。
サンプル リクエスト URL
...?filter[entity.abc][]='値'
ここで、entity.abc は実際には文字列ですが、「filter.entity.abc」にルールが指定されている場合、laravel はそれをオブジェクトの配列と見なします。
filter:[
[entity]: [ {abc:'value'}]
]
これは実際には
filter:[
[entity.abc]:['value']
]
したがって、2 番目のドットの正規表現を作成する必要があります。これは次と同等です。
public function rules()
{
return [
'filter.entity\.abc' => ['bail', 'sometimes', 'array'],
'filter.entity\.abc' => ['uuid']
];
}
無効なuuidが存在する場合でも、上記は常にtrueを返します