前提・実現したいこと
Form入力をして確認画面に進むを押しても、確認画面へ進まずForm入力画面に戻ってしまいます。
試したこと
RegisterRequest内の 'prefectures_name' => ['required', 'string', 'max:255'],をコメントアウトし、それ以外のnameやemail.passwordなどだけでブラウザの確認画面へ進むを押すと、確認画面に移行できるので書き方が間違っているのはここで間違いないと思います。
Laravel prefectures_name バリデーション書き方や バリデーション通らない、などで検索をかけてみましたがそこまで細かく書いてくれていません。ご教示よろしくお願い致します。
該当のソースコード
resouces/views/form.blade.php
<tr> <th> 都道府県 <span class="required">必須</span> </th> <td> <select name="prefectures_name" id="area"> <option value>選択してください</option> <option value="北海道">北海道</option> <option value="青森県">青森県</option> <option value="岩手県">岩手県</option> <option value="宮城県">宮城県</option> <option value="秋田県">秋田県</option> <option value="山形県">山形県</option> <option value="福島県">福島県</option> <option value="茨城県">茨木県</option> <option value="栃木県">栃木県</option> <option value="群馬県">群馬県</option> <option value="埼玉県">埼玉県</option> <option value="千葉県">千葉県</option> <option value="東京都">東京都</option> <option value="神奈川県">神奈川県</option> <option value="日が他県">新潟県</option> <option value="富山県">富山県</option> <option value="石川県">石川県</option> <option value="福井県">福井県</option> <option value="山梨県">山梨県</option> <option value="長野県">長野県</option> <option value="岐阜県">岐阜県</option> <option value="静岡県">静岡県</option> <option value="愛知県">愛知県</option> <option value="三重県">三重県</option> <option value="滋賀県">滋賀県</option> <option value="京都府">京都府</option> <option value="大阪府">大阪府</option> <option value="兵庫県">兵庫県</option> <option value="奈良県">奈良県</option> <option value="和歌山県">和歌山県</option> <option value="鳥取県">鳥取県</option> <option value="島根県">島根県</option> <option value="岡山県">岡山県</option> <option value="広島県">広島県</option> <option value="山口県">山口県</option> <option value="徳島県">徳島県</option> <option value="香川県">香川県</option> <option value="愛媛県">愛媛県</option> <option value="高知県">高知県</option> <option value="福岡県">福岡県</option> <option value="佐賀県">佐賀県</option> <option value="長崎県">長崎県</option> <option value="熊本県">熊本県</option> <option value="大分県">大分県</option> <option value="宮崎県">宮崎県</option> <option value="鹿児島県">鹿児島県</option> <option value="沖縄県">沖縄県</option> </select> @if($errors->has('prefectures_name')) <p class="text-danger">{{ $errors->first('prefectures_name') }}</p> @endif </td> </tr> @endsection
Illuminate/Foundation/Http/FormRequest/RegisterRequest
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Contracts\Validation\Validator; use Illuminate\Http\Exceptions\HttpResponseException; class RegisterRequest extends FormRequest { public function rules() { return [ 'prefectures_name' => ['required', 'string', 'max:255'], ]; } public function messages(){ return [ 'prefectures_name.required' => '都道府県を選択してください', ]; } }
App/Http/Controllers/RegisterController
<?php namespace App\Http\Controllers\Auth; use App\User; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Http\Request; use App\Http\Requests\RegisterRequest; class RegisterController extends Controller { public function validator(array $data) { return Validator::make($data, 'prefectures_name' => ['required', 'string', 'max:255'], ); public function create(array $data) { return User::create([ 'prefectures_name' => $data['prefectures_name'], ]); } }
databeases/migrations/create_users_table
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->string('prefectures_name')->comment('都道府県名'); }); }
回答1件
あなたの回答
tips
プレビュー