csv-validator/example.php

38 lines
827 B
PHP
Raw Normal View History

2016-05-20 12:03:28 +02:00
<?php
use Deblan\Csv\CsvParser;
use Deblan\CsvValidator\Validator;
use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\Date;
chdir(__DIR__);
require 'vendor/autoload.php';
2016-05-20 14:45:28 +02:00
$parser = new CsvParser('example.csv', ';', '');
2016-05-20 12:03:28 +02:00
$validator = new Validator($parser, Validation::createValidator());
2016-05-20 14:45:28 +02:00
$validator->addFieldConstraint(0, new Email());
$validator->addFieldConstraint(1, new Date());
2016-05-20 12:03:28 +02:00
$validator->validate();
2016-05-20 14:45:28 +02:00
if ($validator->isValid() === false) {
foreach ($validator->getErrors() as $violation) {
$line = $violation->getLine();
$column = $violation->getColumn();
$message = $violation->getViolation()->getMessage();
echo <<<EOF
Line : $line
Column : $column
Message: $message
EOF;
}
}