thinkphp5.1控制器中实现字段校验文件简单规则,必填,大于零,唯一值,最大长度,两字段比较,日期字段判断,及实现不同场景验证不同字段

thinkphp5.1验证文件配置

<?php
namespace app\api\validate;

use think\Validate;

class Coupon extends Validate
{

    protected $rule = [
        'id' => 'require|gt:0',
        'name' => 'require|unique:coupon|max:30', // 标题
        'sub_name' => 'require|max:30', // 副标题
        'coupon_price' => 'require|gt:0|lt:order_limit_price', // 优惠券优惠金额
        'order_limit_price' => 'require|gt:0', // 优惠券使用门槛金额,订单金额大于此值是才能使用
        'num' => 'require|gt:0', // 促销活动数量
        'num_limit' => 'require|gt:0', // 促销活动限制领取数量
        's_time'=>'require|dateFormat:Y-m-d H:i:s|lt:e_time', // 开始时间
        'e_time'=>'require|dateFormat:Y-m-d H:i:s', // 结束时间
        'type'=>'require|gt:0', // 促销类型 1 优惠券
        'mark'=>'require|max:100', // 描述
    ];
    
    protected $message = [
        'id.require' => '更新索引',
        'id.gt' => '更新索引须大于零',
        'name.require' => '优惠券名称不能为空',
        'name.unique' => '优惠券名称已存在',
        'name.max' => '优惠券名称过长',
        'num.require' => '促销数量不能为空',
        'num.gt' => '促销数量需要大于零',
        'num_limit.require' => '最多领取量不能为空',
        'num_limit.gt' => '最多领取量需要大于零',
        's_time.require' => '开始时间不能为空',
        's_time.dateFormat' => '开始时间格式不对',
        's_time.lt' => '开始时间需要小于结束时间',
        'e_time.require' => '结束时间不能为空',
        'e_time.dateFormat' => '结束时间时间格式不对',
        'sub_name.require' => '优惠券副标题名称不能为空',
        'sub_name.unique' => '优惠券副标题名称已存在',
        'sub_name.max' => '优惠券副标题名称过长',
        'coupon_price.require' => '优惠券优惠金额',
        'coupon_price.gt' => '优惠券优惠金额需大于零',
        'coupon_price.lt' => '优惠券优惠金额需小于门槛金额',
        'order_limit_price.require' => '优惠券优惠金额',
        'order_limit_price.gt' => '优惠券优惠金额需大于零',
        'type.require' => '促销类型',
        'type.gt' => '促销类型值需大于零',
        'mark.require' => '描述',
    ];

    protected $scene = [
        'add'  =>  ['name','sub_name','coupon_price','num','num_limit','s_time','e_time','order_limit_price','type','mark'],
        'edit'  =>  ['id,name','sub_name','coupon_price','num','num_limit','s_time','e_time','order_limit_price','type','mark'],
    ];

}

点赞(3) 打赏

Comment list 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部