I have two date datatype columns being imported through the excel sheet having values strtdate'11/9/2022' nd enddate as '10/9/2022' . i wish for validation date format and date validation before tomorrow for startdate and so tenddate should always be after enddate.
I m using the tomodel. everything works fine. but when it comes to validation date_format is not correct. i have tried different ways : as commented in the code but all in vein. Same error exists:
public function model(array $row)
{
++$this->rows;
$data= new Workshopattended([
'kvkname' => $this->kvkname,
'month' => $this->month,
'session' => $this->session,
'salutation' => $row['salutation'],
'nameofscientist' => $row['nameofscientist'],
'title' => $row['title'],
// 'startdate' => \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['startdate'])->format('Y-m-d'),
'startdate'=> ( $row['startdate']),
'enddate'=> ($row['enddate']),
// 'startdate'=> Carbon::parse($this->transformDate($row['startdate']))->toDateString(),
//'enddate'=> Carbon::parse( $this->transformDate($row['enddate']))->toDateString(),
//'startdate'=> Carbon::parse(date('Y-m-d',($row['startdate']))),
// 'enddate'=> Carbon::parse(date('Y-m-d',($row['enddate']))),
//'startdate'=> ($row['startdate'])->format('d-m-Y'),
//'enddate'=> ($row['enddate'])->format('d-m-Y'),
// 'startdate' => strtotime(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($row['startdate'])->format('Y-m-d')), //2022/04/03',
// 'enddate' => \Carbon::parse($row['enddate'])->toDateString(),
'location' => $row['location'],
'organizingagency' => $row['organizingagency'],
]);
public function transformDate($value, $format ='d/m/Y') {
try {
return \Carbon\Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value));
} catch (\ErrorException $e) {
return \Carbon\Carbon::createFromFormat($format, $value);
}
}