【问题标题】:Laravel 5 - Validation error on form doesn't re-enter user inputLaravel 5 - 表单上的验证错误不会重新输入用户输入
【发布时间】:2015-06-26 10:27:33
【问题描述】:

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

控制器

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');

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

【问题讨论】:

  • 你试过这个methods吗?
  • 你为什么打电话给$user-&gt;user_id
  • @GeorgeBoot,因为我需要将诊所分配给用户。检查controller 中的倒数第二行。它存储在数据透视表中。

标签: php validation laravel laravel-5


【解决方案1】:

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

<!-- 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 包,它可以自动为您检索旧输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2015-06-18
    • 2016-10-31
    • 2017-05-02
    • 2017-01-16
    • 2013-05-02
    • 1970-01-01
    相关资源
    最近更新 更多