Laravel处理用户请求

本文详细介绍了Laravel框架中的表单验证方法,包括使用控制器中的validate方法进行字段验证,通过Validator::make方法自定义验证规则,以及创建表单请求类进行高级验证。同时,还讲解了如何通过Request对象处理用户输入,获取请求数据,以及实现文件上传等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零碎知识部分
  1. laravel通过Illuminate\Http\Request对象实例注入用户请求对象;

  2. 我们可以通过$request->all()获取所有的用户请求;

  3. laravel可以通过dd或者dump打印数据

  4. 测试路由时需要在app/Http/Middleware/VerifyCsrfToken.php中添加一下代码

    protected $except = [
    	'/form*'
    ];
    
  5. $request中的exceptonly方法分别排除指定字段或者获取指定字段;

  6. 我们还可以通过hasexists方法判断某个字段是否存在;

  7. input方法同样可以通过post方式或者get方式获取对应字段的值

  8. 可以使用$request->segment()获取路由参数值

  9. 文件上传路由的书写形式Route::post('form/file_upload', 'RequestController@fileUpload');

  10. Blade 模板中可以通过 $errors获取验证错误信息,通过old()辅助函数可以获取用户上次输入数据

validate验证
  1. 介绍:laravel中使用artisan指令创建的控制器默认继承基类App\Http\Controllers\Controller,所以所以控制器都使用了ValidatesRequests,我们需要单独引入
  2. 控制器中直接用$this调用验证validate方法,例如:
public function test(Request $request, $id)
{
   $this->validate($request, [
       'title' => 'bail|required|string|between:2,32',
       'url' => 'sometimes|url|max:200',
   ],[“这里可以自定义错误的提示文字”]);

   return response('表单验证通过');
}

验证规则请查看官方文档

  1. 我们还可以通过Validator::make方法进行验证表单字段:
protected function validator(array $data)
{
   return Validator::make($data, [
       'name' => 'required|string|max:255',
       'email' => 'required|string|email|max:255|unique:users',
       'password' => 'required|string|min:6|confirmed',
   ]);
} 
  1. 我们还可以自定义一个表单请求类来进行验证,创建验证类的artisan命令是:
    php artisan make:request SubmitFormRequest

  2. 自定义验证类中authorize()方法用来检查用户权限,rules方法用来定义字段验证规则,messages()用来自定义错误提示信息

  3. laravel的验证中还可以验证敏感词:

public function passes($attribute, $value)
{
   return strpos($value, '敏感词') === false;
}

本文参考链接:
https://laravelacademy.org/post/9676.html
https://laravelacademy.org/post/9677.html
https://laravelacademy.org/post/9680.html
https://laravelacademy.org/post/9682.html
https://laravelacademy.org/post/9683.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值