-
app/Http/Requests/UpdateSkillRequest.php
Open in GitHubuse App\Enums\SkillProficiency; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Validation\Rule; class UpdateSkillRequest extends FormRequest { public function authorize(): bool { return true; } public function rules(): array { return [ 'skill' => ['required', 'array'], 'skill_level' => ['required', 'array', Rule::in(SkillProficiency::toValues())], ]; } public function messages(): array { return [ 'skills.required' => 'The skills field is required', 'skills.array' => 'The skills field must be an array', 'skill_level.required' => 'The skill level field is required', 'skill_level.string' => 'The skill level field must be a string', 'skill_level.enum' => 'The skill level field must be a valid skill level', ]; } }
-
app/Http/Controllers/ProfileController.php
Open in GitHubuse App\Http\Requests\UpdateSkillRequest; use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Redirect; class ProfileController extends Controller { // ... public function updateSkill(UpdateSkillRequest $request): RedirectResponse { $data = $request->validated(); $user = Auth::user(); $user->update([ 'skills' => json_encode($data) ]); return Redirect::route('profile.update')->with('status', 'Skills updated successfully'); } // ... }