前提
プログラミング初心者です!
Laravelを用いてWebアプリケーションの開発をしていました。
検索機能を実装したいのですが、「性別」のラジオボタンに何も入力せずに検索するとエラーが起きてしまいます。
改善案として
①ラジオボタンに初期値を持たせる
②性別が入力されていないときにエラー文を出力する
という2つの方法を使おうとアプローチしたのですが、自力では解決できませんでした。
実現したいこと
①ラジオボタンに初期値を持たせる
②性別が入力されていないときにエラー文を出力する
のどちらかでいいので実装して、エラーを取り除きたいです!
発生している問題・エラーメッセージ
Undefined array key "sex"
該当のソースコード
php
<!DOCTYPE HTML> @extends('layouts.app') @section('content') <head> <title>profile_search</title> </head> <body> <h1>ユーザー検索</h2> <form action="/profiles/search" method="get"> @csrf <div class="search_sex"> 性別: <input type="radio" name="profile[sex]" value="男性">男性 <input type="radio" name="profile[sex]" value="女性">女性 <input type="radio" name="profile[sex]" value="その他">その他 </div> <div class="search_prefecture"> 都道府県:<select name="profile[prefecture_id]" > @foreach($prefectures as $prefecture) <option value="{{ $prefecture->id }}">{{ $prefecture->name}}</option> @endforeach </div> <input type="submit" value="検索する"> </form> @if(isset($profiles)) <table class="table"> <tr> <th>ニックネーム</th><th>性別</th><th>都道府県</th> </tr> @foreach($profiles as $profile) <tr> <td>{{$profile->nickname}}</td><td>{{$profile->sex}}</td><td>{{$profile->prefecture->name}}</td> </tr> @endforeach </table> @endif <div class="back">[<a href="/">戻る</a>]</div> </body> @endsection
試したこと
①ラジオボタンに初期値を持たせる
→ネットで調べましたが分からずじまい、、、
②性別が入力されていないときにエラー文を出力する
→変数に対してバリデーション等行っている記事を見つけましたが、検索結果を変数に格納してないし、やるとしてもif文の中にif文ができてしまうのでは?
まだ回答がついていません
会員登録して回答してみよう