Laravel 如果Excel upload中存在错误的休假类型名称,如何验证和停止上载
我在Laravel-5.8中有一个项目,它使用Maatwebsite执行excel上传 模型 Excel上传Laravel 如果Excel upload中存在错误的休假类型名称,如何验证和停止上载,laravel,maatwebsite-excel,Laravel,Maatwebsite Excel,我在Laravel-5.8中有一个项目,它使用Maatwebsite执行excel上传 模型 Excel上传 $this->staffid = $row['staff_id']; $this->leavetype = $row['leave_type']; return new HrLeaveRequest([ 'employee_id' => $this->getStaffId(),
$this->staffid = $row['staff_id'];
$this->leavetype = $row['leave_type'];
return new HrLeaveRequest([
'employee_id' => $this->getStaffId(),
'leave_type_id' => $this->getLeaveType(),
'commencement_date' => $this->transformDate($row['commencement_date']),
]);
public function getStaffId(){
return HrEmployee::where('employee_code',$this->staffid)->pluck('id')->first();
}
public function getLeaveType(){
return HrLeaveType::where('leave_type_name',$this->leavetype)->pluck('id')->first();
}
public function transformDate($value, $format = 'Y-m-d')
{
try {
return \Carbon\Carbon::instance(\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value));
} catch (\ErrorException $e) {
return \Carbon\Carbon::createFromFormat($format, $value);
}
}
public function rules(): array
{
return [
'staff_id' => 'required|max:15',
'leave_type' => 'required|max:255',
'commencement_date' => 'required',
];
}
休假类型\u id是hr\u休假类型的外键
我用过这个:
'leave_type_id' => $this->getLeaveType(),
我注意到,当一个错误的休假类型名称出现时,上传仍然会继续,并添加null
我的意思是:
'leave_type' => 'required|max:255',
没有验证它
如果excel中存在错误的休假类型名称,如何验证和停止上载
谢谢
'leave_type' => 'required|max:255',