1

ここでは、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を返します

4

1 に答える 1