次のようなカスタム検証を作成する必要があります。
Validator::extend('check_my_array', function ($attribute, $value, $parameters, $validator) {
$validation = [];
foreach($parameters as $parameter)
$validation[] = "required|{$parameter}";
$validator = Validator::make($value, $validation);
return !$validator->fails();
});
ValidatorServiceProviderを作成し、これらの行をValidatorServiceProviderのブートメソッドに追加できます。次に、config/app.phpのプロバイダ配列にProviderを追加する必要があります。
App\Providers\ValidatorServiceProvider::class,
または、コントローラの動作の先頭に追加するだけです。
最後に、検証ルールでこのように使用できます。
$validator = Validator::make(
['array' => ['John', 'asd', '[email protected]']],
['array' => 'check_my_array:,numeric,email']
);
if ($validator->fails())
dd('fail');
else dd('success');
注:カンマで区切られたcheck_my_array後のすべては、我々は彼らに配列の要素のための具体的なルールを使用するパラメータです。
ありがとうございました!できます :) –