dsa-io /csv-validator
基于Laravel内置验证器的CSV验证器
1.1.3
2017-06-02 13:33 UTC
Requires
- laravel/framework: ~5.0
This package is not auto-updated.
Last update: 2024-09-26 04:26:23 UTC
README
执行composer命令。
composer require dsa-io/csv-validator:1.*
在app.php中注册服务提供者
'providers' => [
...Others...,
Dsaio\CsvValidator\CsvValidatorServiceProvider::class,
]
还别名
'aliases' => [
...Others...,
'CsvValidator' => Dsaio\CsvValidator\Facades\CsvValidator::class,
]
基本用法
$csv_path = 'test.csv';
$rules = [
0 => 'required',
1 => 'required|integer',
2 => 'required|min:4'
];
$csv_validator = CsvValidator::make($csv_path, $rules);
if($csv_validator->fails()) {
$errors = $csv_validator->getErrors();
}
规则
您可以设置键而不是索引,如下所示。
$rules = [
'First Name' => 'required',
'Last Name' => 'required',
'Email' => 'required|email'
];
在这种情况下,CSV的标题行需要包含First Name
、Last Name
和Email
。
这些键将用作错误消息的属性名称。
- 查看规则细节。
修剪
您可以设置第三个参数为一个布尔值。如果设置为true,将修剪CSV的单元格。(默认:true)
CsvValidator::make($csv_path, $rules, true, 'SJIS-win');
编码
您可以设置第四个参数为一个特定的编码。(默认:UTF-8)
CsvValidator::make($csv_path, $rules, 'SJIS-win');
错误消息
调用fails()后,您可以获取错误消息。
$errors = $csv_validator->getErrors();
foreach ($errors as $row_index => $error) {
foreach ($error as $col_index => $messages) {
echo 'Row '. $row_index .', Col '.$col_index .': '. implode(',', $messages) .'<br>';
}
}
异常
如果验证器期望一个标题行(即它接收一个关联规则数组)并且CSV为空,将抛出异常。
许可证
本软件包受MIT许可证许可。
版权所有2017 DSA