middleware(['auth' => 'surveyPermissions'])->except('surveyVaccinationState', 'surveyVaccinationStateSave'); parent::__construct(); } public function surveyVaccinationState(Request $request) { $formdata = new SurveyVaccinationState(); $view = view("inc.survey.vaccinationState"); $view->with('url', $this->route); $view->with('formdata', $formdata); $view->with('expired', false); return $view; } public function surveyVaccinationStateSave(Request $request) { $request->request->add(['state' => $request->state[0]]); $request->request->add(['age' => $request->age[0]]); $validationData = [ 'department' => 'required', 'state' => 'required|min:3', 'age' => 'required', ]; if(strtolower($request->state) == 'geimpft' or strtolower($request->state) == 'genesen') { $validationData['expiration_date'] = 'date_format:d.m.Y|after:today'; } $formdata = $request->validate( $validationData, [ 'department.required' => 'Pflichtfeld', 'age.required' => 'Pflichtfeld', 'state.required' => 'Pflichtfeld', 'state.min' => 'Mindestens :min Zeichen', 'expiration_date.date_format' => 'Das Datum muss im Format tt.mm.jjjj (tag.monat.jahr) eingegeben werden', 'expiration_date.after' => 'Das Datum muss in der Zukunft liegen', ]); $expiration_date = Carbon::createFromDate(1900, 1, 1); if(strtolower($request->state) == 'geimpft' or strtolower($request->state) == 'genesen') { $expiration_date = Carbon::createFromFormat('d.m.Y', $request->expiration_date); } $model = new SurveyVaccinationState(); $model->fill($request->all()); $model->expiration_date = $expiration_date; $model->department = $request->department[0]; $model->survey_id = 1; $model->save(); $view = view("inc.survey.vaccinationStateSuccess"); return $view; } }