Laravel Custom Validation for array elements
Open the following file
/resources/lang/en/validation.php
Then the custom message adds
'numericarray' => 'The :attribute must be numeric array value.', 'requiredarray' => 'The :attribute must required all element.',
So open another file
/app/Providers/AppServiceProvider.php
Now replace the boot function code using the following code.
public function boot() { // it is for integer type array checking. $this->app['validator']->extend('numericarray', function ($attribute, $value, $parameters) { foreach ($value as $v) { if (!is_int($v)) { return false; } } return true; }); // it is for integer type element required. $this->app['validator']->extend('requiredarray', function ($attribute, $value, $parameters) { foreach ($value as $v) { if(empty($v)){ return false; } } return true; }); }
Now you can use requiredarray for an array element. And also use the numericarray check for the integer type of the array element.
$this->validate($request, [ 'arrayName1' => 'requiredarray', 'arrayName2' => 'numericarray' ]);
source share