使用 Laravel 验证从 excel 文件验证数组
Validate an array from excel file using Laravel validation
您好,我想知道是否可以在 laravel:
中验证这样的数组
Array
(
[0] => John
[1] => 20
[2] => john@example.com
)
因为我正在从 excel 文件中获取数据。我想验证 [1] => numeric
和 [2] => email
.
谢谢。
您需要像下面这样创建自定义验证。
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 的引导方法中。然后您需要将 Provider 添加到 config/app.php.
中的 providers 数组
App\Providers\ValidatorServiceProvider::class,
或者您只需将它们添加到控制器的操作顶部。
最后,您可以在验证规则中像这样使用它。
$validator = Validator::make(
['array' => ['John', 'asd', 'john@example.com']],
['array' => 'check_my_array:,numeric,email']
);
if ($validator->fails())
dd('fail');
else dd('success');
注意:check_my_array 之后用逗号分隔的所有内容都是参数,我们将它们用于数组元素的特定规则。
您好,我想知道是否可以在 laravel:
中验证这样的数组Array
(
[0] => John
[1] => 20
[2] => john@example.com
)
因为我正在从 excel 文件中获取数据。我想验证 [1] => numeric
和 [2] => email
.
谢谢。
您需要像下面这样创建自定义验证。
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 的引导方法中。然后您需要将 Provider 添加到 config/app.php.
中的 providers 数组App\Providers\ValidatorServiceProvider::class,
或者您只需将它们添加到控制器的操作顶部。
最后,您可以在验证规则中像这样使用它。
$validator = Validator::make(
['array' => ['John', 'asd', 'john@example.com']],
['array' => 'check_my_array:,numeric,email']
);
if ($validator->fails())
dd('fail');
else dd('success');
注意:check_my_array 之后用逗号分隔的所有内容都是参数,我们将它们用于数组元素的特定规则。