【问题标题】:Laravel Validation Rules From It's KeyLaravel 验证规则来自 It's Key
【发布时间】:2016-12-28 17:18:00
【问题描述】:

我有 laravel 5.2,我想验证 csv 上传,假设我有一个来自上传 csv 的数组,如下所示:

array(
    'code' => '1',
    'name' => 'asd'
)

和我这样的验证

rules = [
    'code' => 'required|numeric',
    'name' => 'required'
];

但是我的 laravel 项目使用了语言环境,所以当我导出到 csv 时,标题不会总是代码和名称,我可能是日语或其他语言,那么如何创建我的验证规则?

如何从索引号验证每一行?

foreach( $uploaded_data as $row ) {
    $rules = [
        0 => 'required|numeric',
        1 => 'required'
    ];
}

【问题讨论】:

标签: validation laravel csv


【解决方案1】:

使用 Laravel 5.2 Collection 类,您可以调用 combine() 将“键”数组映射到第二个数组。

请参阅combine method 的文档。

首先我们得到$rules的key,然后与数据结合。

$rules = [
    'code' => 'required|numeric',
    'name' => 'required'
];

$data = [
    'foo' => '1',
    'bar' => 'asd'
];

$combined = collect($rules)->keys()->combine($data);
// [
//     "code" => 1,
//     "name" => 'asd'
// ]

然后,只需在 $combined 上调用 validate。

【讨论】:

    猜你喜欢
    • 2017-04-11
    • 2018-02-18
    • 1970-01-01
    • 2019-02-12
    • 2016-11-22
    • 2016-12-17
    • 2020-06-25
    • 2020-06-09
    • 2021-12-09
    相关资源
    最近更新 更多