私は申請書を持っています。このフォームには、「名前」、「メール」、「国」などいくつかのフィールドがあります。ログファイルの一部のフィールドでのみエラーを返すLaravelフォーム
Laravelはメールフィールドのエラーを返すだけです。例えば、The email field is required.
。他のすべてのために、それだけでページを更新し、私のlaravel.log
ファイルで、私は次のエラーを取得する:ここで
[2017-11-16 08:52:30] production.ERROR: Illuminate\Validation\ValidationException: The given data failed to pass validation. in C:\xampp\htdocs\series\commend-me\CommendMe\vendor\laravel\framework\src\Illuminate\Foundation\Validation\ValidatesRequests.php:89
は私のルートです:
Route::post('/postapply', [
'uses' => '\CommendMe\Http\Controllers\[email protected]',
'as' => 'post.apply',
'middleware' => ['auth'],
]);
と私のコントローラ:
public function postApply(Request $request) {
$this->validate($request, [
'name' => 'required|alpha_num|max:40|min:2',
'country' => 'required|alpha_num|max:100|min:2',
'body' => 'required|string|max:2000',
'mature' => 'required',
'email' => 'required|email|max:255',
]);
dd("test");
ddはこのインスタンスでは「test」を返しません。さらに、検証では電子メールフィールドのエラーのみがリダイレクトされ、電子メールフィールドがコントローラ内の別の名前に変更された場合、エラーがログファイルに送信されます。
どうしてですか?
EDIT:
が要求されるようにマークアップを追加する:($要求 - >すべての())
<form role="form" method="post" action="{{ route ('post.apply') }}">
<div class="submitArtSection">
<div class="submitRequired submitRequiredTitle">Required</div>
<div class="border-bot">
<input class="submitArtTitle" type="text" name="name" maxlength="39" placeholder="Name">
</div>
<div class="submitRequired submitRequiredTitle">Required</div>
<div class="border-bot">
<input class="submitArtTitle" type="text" maxlength="255" name="email" placeholder="Email">
</div>
<div class="submitRequired submitRequiredTitle">Required</div>
<div class="border-bot">
<input class="submitArtTitle" type="text" maxlength="255" name="country" placeholder="Country">
</div>
<div class="submitRequired submitRequiredTitle">Required</div>
<div>
<textarea name="body" style="height: 175px;" maxlength="1980" placeholder="Tell us about yourself..."></textarea>
</div>
</div>
<div class="submitArtSection submitArtCheckers">
<div class="submitRequired">Required</div>
<div>
<span class="submitArtCaption submitArtRestrictionsHeader">
Age
</span>
<span>
<label>
<input type="radio" name="mature" value="0">
Under 18
<span class="checkmark"></span>
</label>
<label>
<input type="radio" name="mature" value="1">
18+
<span class="checkmark"></span>
</label>
</span>
</div>
</div>
<div class="text-center">
<button id="saveImage" class="pointer">Submit</button>
</div>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
DD。メソッドの開始時に次のものが返される
array:5 [▼
"name" => ""
"email" => ""
"country" => ""
"body" => ""
"_token" => "HKJ51CMvteYOD0OG79SQiRjpeTup9NNWvTfw1IWB"
]
フォーム内の入力ごとにヘルプブロックが含まれていますか?たぶんあなたは電子メールの入力にそれを含めただけです。 – Amarnasan
問題を見つけるのに役立つフォームのコードを表示できますか? – milo526
メソッドの最初の行に 'dd($ request-> all())'を追加し、他のすべてのフィールドを渡しているかどうかを確認します。 – SteD