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: | 2024-11-23 03:24: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