Dropdown -Werte verschwinden nach Validierungsfehlern bei der Einreichung von FormularPhp

PHP-Programmierer chatten hier
Anonymous
 Dropdown -Werte verschwinden nach Validierungsfehlern bei der Einreichung von Formular

Post by Anonymous »

Ich arbeite an einem Laravel -Jobpost -Formular und stieß auf ein Problem zu. Wenn die Formularvalidierung fehlschlägt, wird die Dropdown für die Auswahl eines Unternehmens (Company_id) leer.

Code: Select all

@csrf


Job Title

@error('job_title')
{{ $message }}
@enderror

Company Name

// BEGIN::THIS IS THE DROPDOWN

Select Company
@foreach ($companies as $company)
{{ old('company_id', $company->company_name) }}
@endforeach

// END::THIS IS THE DROPDOWN
@error('company_id')
{{ $message }}
@enderror

Location Type

Remote
On-site
Hybrid

@error('location_type')
{{ $message }}
@enderror

Location

@error('location')
{{ $message }}
@enderror

Employment Type

Full-time
Part-time
Contract
Internship

@error('employment_type')
{{ $message }}
@enderror

Salary


Job Description
{{ old('description') }}
@error('description')
{{ $message }}
@enderror

Required Skills
{{ old('required_skills') }}
@error('required_skills')
{{ $message }}
@enderror

Job Responsibilities
{{ old('responsibilities') }}

Job Qualifications
{{ old('qualifications') }}
@error('qualifications')
{{ $message }}
@enderror

Status

Select...
Active
Inactive
Pending
Rejected

@error('status')
{{ $message }}
@enderror

{{--  --}}


Add Job


Controller-Funktion
// BEGIN::DISPLAY POST A JOB FORM
public function displayPostJobForm() {
$companies = CompanyProfile::get();
return view('backend.jobs.post_job', compact('companies'));
}
// END::DISPLAY POST A JOB FORM

// BEGIN::HANDLE POST A JOB FORM
public function handlePostJobForm(Request $request) {
$request->validate([
'job_title' => 'required',
'company_id' => 'required',
'location_type' => 'required',
'location' => 'required',
'employment_type' => 'required',
'description' => 'required',
'status' => 'required',
], [
'company_id.required' => 'Company name is required',
]);

$loggedInCompanyId = Auth::guard('company')->id();
$job = JobPosts::where('company_id', $loggedInCompanyId)->first();

$jobPostData = [
'job_title' => $request->job_title,
'company_id' => $request->company_id,
'location_type' => $request->location_type,
'location' => $request->location,
'employment_type' => $request->employment_type,
'description' => $request->description,
'required_skills' => $request->required_skills,
'responsibilities' => $request->responsibilities,
'qualifications' => $request->qualifications,
'pincode' => $request->pincode,
'salary' => $request->salary,
'status' => $request->status,
];

$jobPost = JobPosts::create($jobPostData);

if($jobPost) {
return redirect()->route('posted-jobs.company');
}
}
// END::HANDLE POST A JOB FORM
< /code>
Was ich ausprobiert habe < /strong> < /p>

Verwendete DD (), um zu überprüfen, ob die Variable der $ Companies übergeben wird. Es zeigt den Wert an, wenn ich ihn vor dem Tag platziere, aber wenn ich ihn in die Foreach -Schleife stecke, wird nichts außer dem HTML -Layout angezeigt. /> < /li>
laravel.log überprüft, aber es zeigte nichts Relevantes. < /p>
< /li>
< /u>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post