Neha
Neha

Reputation: 2281

Laravel array validation for unique attribute in array but not required to be unique in table

I have an array in php. i need to validate array such that each abc_id should be unique in array but not required to be unique in database table.

$validator = Validator::make($request->all(), [
 'tests.*.*.abc_id' => 'should not be same in array' 
 ]);

Thanks in Advance.

Upvotes: 17

Views: 25136

Answers (1)

Mayank Majithia
Mayank Majithia

Reputation: 1966

You can use distinct rule of laravel array validation.

$validator = Validator::make(
          ['products' => 
            ['product_id' => 1, 'quantity' => 5],
            ['product_id' => 1, 'quantity' => 99],
            ['product_id' => 2, 'quantity' => 1],
          ],
          ['products.*.product_id' => 'distinct']
        );
        
        dd($validator->passes());
    

Upvotes: 49

Related Questions