繁体   English   中英

Laravel 5-表单上的验证错误未重新输入用户输入

[英]Laravel 5 - Validation error on form doesn't re-enter user input

在引发验证错误的表单上输入数据不会重新输入用户的先前输入。

控制者

public function store(ClinicFormRequest $request)
    {

        $user = new \App\User;
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = Hash::make(str_random(10));
        $user->save();

        $user->user_id;

        $clinic = new \App\Clinic;
        $clinic->name = $request->clinicname;
        $clinic->telephone = $request->telephone;
        $clinic->save();

        $clinic->users()->attach(user_id);

        return Redirect::route('clinic.index')->with('message', 'Clinic created');

    }

诊所表格要求:

class ClinicFormRequest extends Request {

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
        'clinicname' => 'required',
        'name' => 'required',
        'email' => 'required|email|unique:users',
        'telephone' => 'required',
        'address' => 'required',
        'city' => 'required',
        'postcode' => 'required'
        ];
    }

}

Create.blade.php

@if($errors->has())
    <div class="alert alert-danger">
        @foreach($errors->all() as $error)
            <li>{{$error}}</li>
        @endforeach
    </div>
@endif

{!! Form::model(new App\Clinic, ['route' => ['clinic.store'], "class" => "form-horizontal"]) !!}

<fieldset>

    <!-- Form Name -->
    <legend>Add your clinic</legend>

    <!-- Text input-->
    <div class="form-group">
        <label class="col-md-4 control-label" for="clinicname">Clinic Name</label>  
        <div class="col-md-4">
            <input id="clinicname" name="clinicname" type="text" placeholder="" class="form-control input-md" required="">
            <span class="help-block">Your clinic's name</span>  
        </div>
    </div>

        <!-- Button -->
        <div class="form-group">
            <label class="col-md-4 control-label" for="register">Register</label>
            <div class="col-md-4">
                <button id="register" name="register" class="btn btn-success">Register your clinic</button>
            </div>
        </div>

    </fieldset>

    {!! Form::close() !!}

Routes.php

Route::resource('clinic', 'ClinicController');

任何帮助将不胜感激。 非常感谢。

您需要从旧输入中获取值,如下所示:

<!-- Text input-->
<div class="form-group">
    <label class="col-md-4 control-label" for="clinicname">Clinic Name</label>  
    <div class="col-md-4">
        <input id="clinicname" name="clinicname" type="text" placeholder="" class="form-control input-md" required="" value="{{ old('clinicname') }}">
        <span class="help-block">Your clinic's name</span>  
    </div>
</div>

您还应该考虑使用illuminate / html包,这将自动为您检索旧输入的过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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