前提
プログラミング初心者です!
Laravelを用いてWebアプリケーションの開発をしていました。
検索機能を実装したいのですが、「性別」のラジオボタンに何も入力せずに検索するとエラーが起きてしまいます。
改善案として
①ラジオボタンに初期値を持たせる
②性別が入力されていないときにエラー文を出力する
という2つの方法を使おうとアプローチしたのですが、自力では解決できませんでした。
実現したいこと
①ラジオボタンに初期値を持たせる
②性別が入力されていないときにエラー文を出力する
のどちらかでいいので実装して、エラーを取り除きたいです!
発生している問題・エラーメッセージ
Undefined array key "sex"
該当のソースコード
php
1<!DOCTYPE HTML> 2@extends('layouts.app') 3 4@section('content') 5 <head> 6 <title>profile_search</title> 7 </head> 8 <body> 9 <h1>ユーザー検索</h2> 10 <form action="/profiles/search" method="get"> 11 @csrf 12 <div class="search_sex"> 13 性別: 14 <input type="radio" name="profile[sex]" value="男性">男性 15 <input type="radio" name="profile[sex]" value="女性">女性 16 <input type="radio" name="profile[sex]" value="その他">その他 17 </div> 18 <div class="search_prefecture"> 19 都道府県:<select name="profile[prefecture_id]" > 20 @foreach($prefectures as $prefecture) 21 <option value="{{ $prefecture->id }}">{{ $prefecture->name}}</option> 22 @endforeach 23 </div> 24 <input type="submit" value="検索する"> 25 </form> 26 @if(isset($profiles)) 27 <table class="table"> 28 <tr> 29 <th>ニックネーム</th><th>性別</th><th>都道府県</th> 30 </tr> 31 @foreach($profiles as $profile) 32 <tr> 33 <td>{{$profile->nickname}}</td><td>{{$profile->sex}}</td><td>{{$profile->prefecture->name}}</td> 34 </tr> 35 @endforeach 36 </table> 37 @endif 38 <div class="back">[<a href="/">戻る</a>]</div> 39 40 </body> 41@endsection 42
試したこと
①ラジオボタンに初期値を持たせる
→ネットで調べましたが分からずじまい、、、
②性別が入力されていないときにエラー文を出力する
→変数に対してバリデーション等行っている記事を見つけましたが、検索結果を変数に格納してないし、やるとしてもif文の中にif文ができてしまうのでは?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/12 05:15
2022/04/12 05:42