創建路由
Route::get('test','VerController@index');
Route::post('tosubmit','VerController@tosubmit');
在控制器中編輯代碼
class VerController extends Controller
{
//表單頁面
public function index()
{
return view('from.from');
}
//表單提交驗證
//這種是用自帶的Request進行驗證
// public function tosubmit(Request $request)
// {
// $this->validate($request, [
// 'title'=>'required',
// 'content'=>'required|min:10'
// ]);
// return 'success';
// }
//這種是用自己寫的Request,用php artisan make:request FromRequest生成
public function tosubmit(Requests\FromRequest $request)
{
return 'success';
}
}
FromRequest
public function authorize()
{
//別問為什么,就是要返回true
return true;
}
public function rules()
{
return [
//這里寫規則
'title'=>'required',
'content'=>'required|min:10'
];
}
自定義錯誤信息(設置成中文)
把en文件夾復制一份重命名為cn
然后在/config/app.php下修改
第二種:
直接在Controller里面定義規則和錯誤信息
public function yanzhen()
{
$input = Input::except('_token');
$relus = [
//規則
'name'=>'required|min:5'
];
$message = [
//錯誤信息
'name.required' => '不能為空',
'name.min' => '最少5個字符'
];
//這里參數必須按照順序(驗證的內容,規則,錯誤信息)
$vail = Validator::make($input,$relus,$message);
if ($vail->passes()){
return '通過驗證';
} else {
//這里傳入的是變量
return back()->withErrors($vail);
}
}
View:
<body>
<div class="container">
@if(count($errors)>0)
@if(is_object($errors))
{{--這里一定要獲取$error->all()--}}
@foreach($errors->all() as $error)
{{ $error }}
@endforeach
@endif
@endif
{{ Form::open(['url'=>url("yanzhen")]) }}
{{ Form::text('name') }}
{{ Form::submit('提交') }}
{{ Form::close() }}
</div>
</body>
