在laravel中,表单验证的正确方法是什么?
我刚刚创建了表单,动作是在laravel中,表单验证的正确方法是什么?,laravel,Laravel,我刚刚创建了表单,动作是PagesController@check,验证如下所示: @extends('layout') @section('content') <div class = "container"> {!! Form::open(['action' => 'PagesController@check' , 'method' => 'POST']) !!} <div class = "form-group">
PagesController@check
,验证如下所示:
@extends('layout')
@section('content')
<div class = "container">
{!! Form::open(['action' => 'PagesController@check' , 'method' => 'POST']) !!}
<div class = "form-group">
{{ Form::label('country','Country')}}
{{ Form::text('country','', ['class' => 'form-control' , 'placeholder' => ''])}}
</div>
<div class = "form-group">
{{ Form::label('age','Age')}}
{{ Form::number('age','', ['class' => 'form-control' , 'placeholder' => ''])}}
</div>
<div class = "form-group">
{{ Form::label('marks','Marks')}}
{{ Form::number('marks','', ['class' => 'form-control' , 'placeholder' => ''])}}
</div>
<div class = "form-group">
{{ Form::label('description','Description')}}
{{ Form::textarea('description','', ['class' => 'form-control' , 'placeholder' => ''])}}
</div>
{{ Form::submit('Submit' , ['class' => 'btn btn-primary'])}}
{!! Form::close() !!}
</div>
@endsection
为什么它会抛出以下错误:
(2/2)错误异常操作应用程序\Http\Controllers\PagesController@check没有定义。(视图:C:\wamp64\bin\apache\apache2.4.23\htdocs\website\resources\views\profiles.blade.php) 以下是整个
PagesController
控制器:
class PagesController extends Controller
{
public function home() {
return view('welcome');
}
public function about() {
$title = 'This is the about page';
return view('about')->with('title',$title);
}
public function show() {
$yomads = person::all();
return view('show')->with('yomads',$yomads);
}
public function profiles(){
return view('profiles');
}
public function check(Request $request){
$this->validate($request, [
'country' => 'required',
'age' => 'required',
'marks' => 'required',
'description' => 'required'
]);
return 123;
}
}
错误很可能与
app/Http/routes.php
中的路由(或缺少路由)有关-请检查此处是否正确定义了路由
此外,创建自定义请求类是一种很好的做法。看看
这些可以使用artisan生成:
php artisan make:request Profile
然后使用它,就像使用标准请求一样:
public function check(ProfileRequest $request) {
[...]
你能粘贴你的整个页面控制器吗?我已经添加了整个页面控制器它在什么名称空间下?一切看起来都很好,我唯一能想到的是名称空间是错误的,正如@Ian所说的,一切看起来都很好。可能尝试运行
composer dump autoload
,以防文件以某种方式被缓存。您是否在routes/web.php
中添加了路由条目?
public function check(ProfileRequest $request) {
[...]