Laravel Excel-导入日期验证

问题描述 投票:0回答:1

我正在研究Laravel项目,其中一项功能是将CSV / Excel文件加载到表中。为此,我使用了Laravel-Excel软件包(https://docs.laravel-excel.com/3.1/imports/)。

我已经成功地加载了CSV文件,但是我对Excel文件有问题,尤其是日期验证。基本上,验证总是告诉我日期不是日期(但实际上是日期),我尝试使用其他格式,但没有任何变化。

这是我的代码:

OrdinanzaImport.php(这是模型导入)

class OrdinanzaImport implements ToModel, WithValidation, WithHeadingRow
{
    public function model(array $row)
    {
        return new Ordinanza([
            'numero_verbale' => $row['numero_verbale'],
            'data_verbale'   => $row['data_verbale'],    ////here is the date field
            'cognome'        => $row['cognome'],
            'nome'           => $row['nome'],
            'codice_fiscale' => $row['codice_fiscale'],
            'citta'          => $row['citta'],
            'provincia'      => $row['provincia'],
            'data_notifica'  => $row['data_notifica'],
        ]);
    }

    public function rules(): array
    {
        return [
            'numero_verbale' => 'required|numeric|unique:ordinanze',
            'data_verbale'   => 'required|date:ordinanze',            ////here is the date validation
            'cognome'        => 'required|min:1|max:50:ordinanze',
            'nome'           => 'required|min:1|max:50:ordinanze',
            'codice_fiscale' => 'nullable|alpha_num|size:16:ordinanze', 
            'citta'          => 'required|min:1|max:50:ordinanze',
            'provincia'      => 'nullable|min:1|max:50:ordinanze',
            'data_notifica'  => 'nullable|date:ordinanze',
        ];
    }

controller.php

Excel::import(new OrdinanzaImport, $request->file('file'), null, \Maatwebsite\Excel\Excel::XLSX);

我也尝试使用以下在程序包问题上找到的代码,但一无所获:

'data_verbale' => \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['data_verbale']),

如果要检查,这是Excel文件:https://filebin.net/yhuuhqb579g3qyle

如何解决?

谢谢!

laravel date import-from-excel laravel-validation laravel-excel
1个回答
0
投票

您可以尝试一下吗?'data_verbale' => \DateTime::createFromFormat('d-m-Y', $row['data_verbale'])->format('Y-m-d'),

让我知道它的作用!

© www.soinside.com 2019 - 2024. All rights reserved.