mysiar/array-validator
Composer 安装命令:
composer require mysiar/array-validator
包简介
Array Validator
README 文档
README
Usage
-
example
use Mysiar\ArrayValidator\Validator; use Symfony\Component\Validator\Constraints\Callback; use Symfony\Component\Validator\Constraints\Choice; use Symfony\Component\Validator\Constraints\Date; use Symfony\Component\Validator\Constraints\Email; use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Constraints\Positive; use Symfony\Component\Validator\Constraints\PositiveOrZero; use Symfony\Component\Validator\Context\ExecutionContextInterface; $validator = new Validator(); $validator->addArrayConstraint(new Callback(function($record, ExecutionContextInterface $context) { if (count($record) !== 15) { $context->addViolation(sprintf('The array must contain %s columns', 15)); } })); $validator->addArrayElementConstraint(0, new Positive()); $validator->addArrayElementConstraint(1, new NotBlank()); $validator->addArrayElementConstraint(2, new NotBlank()); $validator->addArrayElementConstraint(3, new NotBlank()); $validator->addArrayElementConstraint(4, new NotBlank()); $validator->addArrayElementConstraint(5, new Date()); $validator->addArrayElementConstraint(6, new Positive()); $validator->addArrayElementConstraint(7, new NotBlank()); $validator->addArrayElementConstraint(8, new Email()); $validator->addArrayElementConstraint(9, new Date()); $validator->addArrayElementConstraint(10, new Positive()); $validator->addArrayElementConstraint(12, new Choice([0, 1])); $validator->addArrayElementConstraint(13, new PositiveOrZero()); $validator->addArrayElementConstraint(14, new PositiveOrZero());
-
notice: in case you use function
fgetcsvto read csv file line by line to validate Choice of values in the array element you may need to use$validator->addArrayElementConstraint(2, new Choice(["0", "1"]));instead
$validator->addArrayElementConstraint(2, new Choice([0, 1]));
Credits
Created by Piotr Synowiec, inspired by deblan/csv-validator
统计信息
- 总下载量: 64
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-02-12