简体   繁体   中英

Get old input via old() in laravel 5.5 not working

This is my controller. I am trying to validate the form and show error messages if any. The form is validating fine but when it redirects back to the form if validation fails, then old form values are not working

<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Frontend\AbstractController as FrontendController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;



class ContactFormController extends FrontendController
{
    protected $validationRules = [
        'Name'      => 'required',
        'email-360' => 'required|email',
        'telephone' => 'required',
        'Bio'       => 'required',
    ];

    public function index(Request $request)
    {
        $request->flash();
        $viewData = [
            'meta_title'       => _('Contact Us'),
            'meta_description' => _(''),
        ];
        return view('frontend.contact-form', $viewData);
    }

    public function saveContactForm(Request $request)
    {
        $validationMessages = [
            'Name.required' => _('This field is required.'),
            'email-360.required' => _('This field is required.'),
            'telephone.required' => _('This field is required.'),
            'Bio.required' => _('This field is required.'),
        ];

        $request->flash();
        $validation = Validator::make($request->all(), $this->validationRules, $validationMessages);
        if ($validation->fails()) {
            return redirect()->back()->withInput()->withErrors($validation);
        }
    }

}

Here is the contact-form.blade.php where error messages are displaying errors correctly as expected but old values are not displayed

@extends('layout.front')
@section('content')
<form action="{{ action('Frontend\ContactFormController@saveContactForm',$locale) }}" method="post" class="wpcf7-form" enctype="multipart/form-data" novalidate="novalidate">
    {{ csrf_field() }}
    <input name="_method" type="hidden" value="POST">

    <div class="entry">
        <div class="label" style="vertical-align: top;">{{ _('Full Name') }}<sup>*</sup></div>
        <div class="field">
            <span class="wpcf7-form-control-wrap Name">
                <input type="text" name="Name" value="{!! old('Name') !!}" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false">
                <span role="alert" class="wpcf7-not-valid-tip">{{ $errors->first('Name') }}</span>
            </span>
        </div>
    </div>
    <div class="entry">
        <div class="label" style="vertical-align: top;">{{ _('SA Email Address') }}<sup>*</sup></div>
        <div class="field">
                <span class="wpcf7-form-control-wrap email-360">
                    <input type="email" name="email-360" value="{{ old('email-360') }}" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" aria-invalid="false">
                    <span role="alert" class="wpcf7-not-valid-tip">{{ $errors->first('email-360') }}</span>
                </span>
        </div>
    </div>

    <div class="entry">
        <div class="label" style="vertical-align: top;">{{ _('Phone Number') }}<sup>*</sup></div>
        <div class="field">
            <span class="wpcf7-form-control-wrap telephone">
                <input type="text" name="telephone" value="{{ old('telephone') }}" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false" placeholder="123-456-7890">
                <span role="alert" class="wpcf7-not-valid-tip">{{ $errors->first('telephone') }}</span>
            </span>
        </div>
    </div>
    <div class="entry">
        <div class="label" style="vertical-align: top;">{{ _('Tell Us About Yourself &amp; Your Experiences As A Sugar Baby.') }}
            <sup>*</sup></div>
        <div class="field">
            <span class="wpcf7-form-control-wrap Bio">
                <textarea name="Bio" cols="40" rows="10" minlength="300" class="wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required" aria-required="true" aria-invalid="false">
                    {{ old('Bio') }}
                </textarea>
                <span role="alert" class="wpcf7-not-valid-tip">{{ $errors->first('Bio') }}</span>
            </span>
            <br>
            {{ _('(300 Character Minimum)') }}
        </div>
    </div>
    <div class="entry">
        <div class="label">{{ _('Headshot') }}<sup>*</sup></div>
        <div class="field">
                <span class="wpcf7-form-control-wrap Headshot">
                    <input type="file" name="Headshot" size="40" class="wpcf7-form-control wpcf7-file wpcf7-validates-as-required" aria-required="true" aria-invalid="false">
                    <span role="alert" class="wpcf7-not-valid-tip">{{ $errors->first('Headshot') }}</span>
                </span>
        </div>
    </div>
    <div class="entry">
        <div class="label"></div>
        <div class="field"><input type="submit" value="Send" class="wpcf7-form-control wpcf7-submit"></div>
    </div>
</form>

@endsection

How to resolve the mistake?

将输入添加到您的重定向中:

return redirect()->back()->withInput($request->all())->withErrors($validation);

使用back()代替redirect()->back()作为

return back()->withInput()->withErrors($validation);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM