- 快速验证
- 首先,创建两个路由:一个表单,一个处理表单;
//表单页
Route::get(‘task/form’, ‘TaskController@form’);
//接收页
Route::post(‘task/receive’, ‘TaskController@receive’);
b. 表单,我们先采用用户名和密码来演示验证;
c. 表单处理页,通过Request对象来实现字段验证,注释写了执行流程;
public function receive(Request $request){
//验证请求方式
//左边为验证字段,右边为验证规则,每个规则竖线隔开
//比如 required 不得为空,min不得小于,max不得大于
$request->validate([
‘username’ => ‘required|min:2|max:10’,
‘password’ => ‘required|min:6’
]);
//只有通过才能执行下面的语句,否则返回表单页<br /> return '恭喜验证通过!';<br /> }
d. 如果验证没有被通过,会自动重定向到提交页,并将错误信息存储到session中;
@if($errors->any())
- {{$error}}
@foreach($errors->all() as $error)
@endforeach
@endif
PS: 内部操作是通过中间件:Illuminate\View\Middleware\ShareErrorsFromSession;
e. 也可以单独设置错误信息,使用@error指令
@error(‘username’)
@enderror
@error('password')<br /> <div>{{$message}} : 密码非法!</div><br /> @enderror
f. 关于规则,还有其它写法,具体如下;
//数组方式验证
$request->validate([
‘username’ => [‘required’, ‘min:2’, ‘max:10’],
‘password’ => [‘required’, ‘min:6’]
]);