Lumen(laravel) 验证器

参考文档

用法

在控制器中使用
直接调用

Lumen 的控制器基类使用 ProvidesConvenienceMethods trait,因此可以直接在控制器中调用validate方法
public function validate(Request $request, array $rules, array $messages = [], array $customAttributes = [])
validate方法接收四个入参

  • $request Request请求类 \Illuminate\Http\Request

  • $rules 验证规则 数组 [‘参数’=>’规则’] ['id' => 'required'],多个规则使用|分隔,例如:['id' => 'required|integer']

  • $messages 可选参数 自定义错误信息 数组 [‘参数.规则’=>‘提示语句’] ,错误信息中可以使用:attribute占位符来替换实际的字段名,同时还有其他占位符可以使用,具体参考官方文档['id.required'=>':attribute不能为空'],返回的错误信息为 id不能为空,多个规则需要定义多个提示语句,例如['id.required'=>':attribute不能为空','id. integer'=>':attribute不是一个有效的整数']

  • $customAttributes 可选参数 定义字段别名用于替换错误信息中的:attribute 数组 [‘参数’=> ’别名‘],例如 ['id'=>'ids'] 返回的required错误信息则就是 ids不能为空 [1]参考链接

示例:

public function test()
{
   
        $result = app('request');
        $this->validate($result, [
            'id' => 'required|integer'
        ], [
            'id.required' => ':attribute不能为空',
            'id.integer' => ':attribute不是一个有效的整数'
        ], [
            'id' => 'ids'
        ]);

        //验证通过...
);
封装成对象调用(可灵活根据自己需求调整封装)

目前提供两种思路

  1. 一个类负责少量的字段验证,验证时通过多个验证类组合起来验证,优势是验证解耦,一样字段只需要定义一次。劣势是字段过于细化,不便于管理,对于要一次验证大量字段时需要传入验证类过多。
  2. 一个类负责大量的字段验证,验证时传入一个参数,根据参数选择需要验证的数组。优势是一个类可以对增删改查所需要验证的字段都写在一起,便于管理。劣势是耦合高,无法再其他地方复用。

当然两种思路也可以一起用,根据需求灵活选择

创建自定义基类 BaseValidate
定义rules 、messages、custom 方法,返回空数组,静态还是非静态都可以,本文中均使用静态形式。

    protected 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值