ホーム » バリデーション失敗時のエラーメッセージの表示箇所の修正について

バリデーション失敗時のエラーメッセージの表示箇所の修正について

本ページは、Udemyコースの「【Laravel8】プログラミング初心者向けの実践入門!スキルアプリを作ってみよう!」の動画レクチャーの内容+αの補足説明ページになります。

コントローラー内のバリデーション処理の記述方法に誤りがありました。

修正いただければと思います。詳しくは動画にて解説しています。

 

1.skills/app/Http/Controllers/SkillController.phpのupdateメソッドの記述を変更する。

before

$validated = $request->validate([
'skill_name' => 'required|max:255',
'skill_status' => ['required', Rule::in(SKill::SKILL_STATUS_ARRAY)],
'remarks' => 'max:1000',
'experience_years' => 'numeric|max:99',
]);

if($validated->fails()) {
return redirect('skill')->withErrors($validated)->withInput();
}

after

$validator = Validator::make($request->all(), [
'skill_name' => 'required|max:255',
'skill_status' => ['required', Rule::in(SKill::SKILL_STATUS_ARRAY)],
'remarks' => 'max:1000',
'experience_years' => 'numeric|max:99',
]);

if ($validator->fails()) {
return redirect()->route('skill.edit', ['id' => $request->input('id')])
->withErrors($validator)->withInput();
}

 

2.skills/app/Models/Skill.phpファイルの内容を変更する。(NAME_を削除する)

before

const SKILL_STATUS_ARRAY = [
self::SKILL_STATUS_NAME_NOT_YET,
self::SKILL_STATUS_NAME_LEARNING,
self::SKILL_STATUS_NAME_LEARNED,
self::SKILL_STATUS_NAME_RELEARN,
self::SKILL_STATUS_NAME_MASTER,
];

after

const SKILL_STATUS_ARRAY = [ 
self::SKILL_STATUS_NOT_YET, 
self::SKILL_STATUS_LEARNING, 
self::SKILL_STATUS_LEARNED, 
self::SKILL_STATUS_RELEARN, 
self::SKILL_STATUS_MASTER, 
];

 

下記の画像リンクより動画の解説が視聴できます。

Laravel動画解説のYoutubeチェンネルへ