2017 © Pedro Peláez
 

library csv-validator

A CSV Validator based on Laravel's built-in Validator

image

dsa-io/csv-validator

A CSV Validator based on Laravel's built-in Validator

  • Friday, June 2, 2017
  • by dsa.io
  • Repository
  • 1 Watchers
  • 0 Stars
  • 35 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 7 Versions
  • 67 % Grown

The README.md

Installation

Execute composer command., (*1)

composer require dsa-io/csv-validator:1.*

Register the service provider in app.php, (*2)

'providers' => [
    ...Others...,
    Dsaio\CsvValidator\CsvValidatorServiceProvider::class,
]

Also alias, (*3)

'aliases' => [
    ...Others...,  
    'CsvValidator' => Dsaio\CsvValidator\Facades\CsvValidator::class,
]

Basic usage

$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

You can set keys instead of indexes like so., (*4)

$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., (*5)

  • See the details of the rules.

Trimming

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), (*6)

CsvValidator::make($csv_path, $rules, true, 'SJIS-win');

Encoding

You can set a specific encoding as the 4th argument. (Default: UTF-8), (*7)

CsvValidator::make($csv_path, $rules, 'SJIS-win');

Error messages

You can get error messages after calling fails()., (*8)

$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>';

    }

}

Exception

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., (*9)

License

This package is licensed under the MIT License., (*10)

Copyright 2017 DSA, (*11)

The Versions

02/06 2017

dev-master

9999999-dev

A CSV Validator based on Laravel's built-in Validator

  Sources   Download

MIT

The Requires

 

laravel csv validator

02/06 2017

1.1.3

1.1.3.0

A CSV Validator based on Laravel's built-in Validator

  Sources   Download

MIT

The Requires

 

laravel csv validator

02/06 2017

1.1.2

1.1.2.0

A CSV Validator based on Laravel's built-in Validator

  Sources   Download

MIT

The Requires

 

laravel csv validator

01/06 2017

1.1.1

1.1.1.0

A CSV Validator based on Laravel's built-in Validator

  Sources   Download

MIT

The Requires

 

laravel csv validator

08/03 2017

1.1.0

1.1.0.0

A CSV Validator based on Laravel's built-in Validator

  Sources   Download

MIT

The Requires

 

laravel csv validator

26/01 2017

1.0.1

1.0.1.0

A CSV Validator based on Laravel's built-in Validator

  Sources   Download

MIT

The Requires

 

laravel csv validator

25/01 2017

1.0.0

1.0.0.0

A CSV Validator based on Laravel's built-in Validator

  Sources   Download

MIT

The Requires

 

laravel csv validator