2017-12-08 30 views
1

を使用してExcelファイルから配列が可能laravelにこのような配列を検証した場合こんにちは、私は疑問に思う:検証Laravelの検証

Array 
(
    [0] => John 
    [1] => 20 
    [2] => [email protected] 
) 

イムExcelファイルからデータを取得しているため。 [1] => numeric[2] => emailを検証したいと思います。

ありがとうございました。

答えて

0

次のようなカスタム検証を作成する必要があります。

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後のすべては、我々は彼らに配列の要素のための具体的なルールを使用するパラメータです。

+0

ありがとうございました!できます :) –