[英]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.