最終效果
創建錯誤信息提示文件
valitade.blade.php
<!-- 所有的錯誤提示 -->
@if($errors->any())
{{--@if(count($errors))--}}
{{--當前錯誤信息--}}
<div class="alert alert-danger">
<ul>
<li>{{ $errors->first() }}</li>
</ul>
</div>
{{--所有錯誤信息--}}
<div class="alert alert-danger">
<ul>
@foreach($errors -> all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
//模板繼承
//create.blade.php
@extends('common.layouts')
@section('content')
@include('common.validate')
<!-- 自定義內容區域 -->
<div class="panel panel-default">
<div class="panel-heading">新增學生</div>
<div class="panel-body">
{{--<form class="form-horizontal" method="post" action="{{ url('student/save') }}">--}}
<form class="form-horizontal" method="post" action="">
{{ csrf_field() }}
<div class="form-group">
<label for="name" class="col-sm-2 control-label">姓名</label>
<div class="col-sm-5">
<input type="text" name="Student[name]" class="form-control" id="name"
value="{{ old('Student')['name'] }}" placeholder="請輸入學生姓名">
</div>
<div class="col-sm-5">
<p class="form-control-static text-danger">{{ $errors->first('Student.name') }}</p>
</div>
</div>
<div class="form-group">
<label for="age" class="col-sm-2 control-label">年齡</label>
<div class="col-sm-5">
<input type="text" name="Student[age]" class="form-control" id="age"
value="{{ old('Student')['age'] }}" placeholder="請輸入學生年齡">
</div>
<div class="col-sm-5">
<p class="form-control-static text-danger">{{ $errors->first('Student.age') }}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性別</label>
<div class="col-sm-5">
<label class="radio-inline">
<input type="radio" name="Student[sex]" value="10"> 未知
</label>
<label class="radio-inline">
<input type="radio" name="Student[sex]" value="20"> 男
</label>
<label class="radio-inline">
<input type="radio" name="Student[sex]" value="30"> 女
</label>
</div>
<div class="col-sm-5">
<p class="form-control-static text-danger">{{ $errors->first('Student.sex') }}</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</div>
</form>
</div>
</div>
@stop
控制器方法
public function create(Request $request){
if($request->isMethod('POST')){
// 控制器驗證
/*$this->validate($request,[
'Student.name'=> 'required|min:2|max:20',
'Student.age'=> 'required|integer',
'Student.sex'=> 'required|integer',
],[
'required' => ':attribute 不能爲空',
'min' => ':attribute 最小長度2個字符',
'max' => ':attribute 最大長度20個字符',
'integer' => ':attribute 必須爲整數',
],[
'Student.name' => '姓名',
'Student.age' => '年齡',
'Student.sex' => '性別',
]);*/
//Validator類驗證 =====begin=======
$validator = Validator::make($request->input(),[
'Student.name'=> 'required|min:2|max:20',
'Student.age'=> 'required|integer',
'Student.sex'=> 'required|integer',
],[
'required' => ':attribute 不能爲空',
'min' => ':attribute 最小長度2個字符',
'max' => ':attribute 最大長度20個字符',
'integer' => ':attribute 必須爲整數',
],[
'Student.name' => '姓名',
'Student.age' => '年齡',
'Student.sex' => '性別',
]);
//數據保持
if($validator->fails()){
return redirect()->back()->withErrors($validator)->withInput();
}
//Validator類驗證 =====begin=======
$data = $request->input('Student');
//使用create方法 涉及批量賦值 先設置黑名單($guarded) 或白名單 ($fillable)
if(Student::create($data)){
return redirect('student/index')->with('success','添加成功') ;
}else{
return redirect()->back() ;
}
}
return view('student.create');
}