| Package Data | |
|---|---|
| Maintainer Username: | stefandanaita |
| Maintainer Contact: | stefan.danaita@gmail.com (Stefan Danaita) |
| Package Create Date: | 2016-09-20 |
| Package Last Update: | 2021-04-28 |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-11-03 15:22:16 |
| Package Statistics | |
|---|---|
| Total Downloads: | 154 |
| Monthly Downloads: | 0 |
| Daily Downloads: | 0 |
| Total Stars: | 0 |
| Total Watchers: | 0 |
| Total Forks: | 1 |
| Total Open Issues: | 2 |
Execute composer command.
composer require dsa-io/csv-validator:1.*
Register the service provider in app.php
'providers' => [
...Others...,
Dsaio\CsvValidator\CsvValidatorServiceProvider::class,
]
Also alias
'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();
}
You can set keys instead of indexes like so.
$rules = [
'First Name' => 'required',
'Last Name' => 'required',
'Email' => 'required|email'
];
In this case, the heading row of the CSV need to have First Name, Last Name and Email.
And This keys will be used as attribute names for error message.
You can set the 3rd argument a boolean value. If it is set to true, it will trim the cells of the csv. (Default: true)
CsvValidator::make($csv_path, $rules, true, 'SJIS-win');
You can set a specific encoding as the 4th argument. (Default: UTF-8)
CsvValidator::make($csv_path, $rules, 'SJIS-win');
You can get error messages after calling 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>';
}
}
If the validator is expecting a heading row (i.e it receives an associative rules array) and the CSV is empty, an exception will be thrown.
This package is licensed under the MIT License.
Copyright 2017 DSA