laravel 自定义验证规则

控制器中调用

 (new TaxValidate())->gocheck();

定义自定义验证规则

class TaxValidate extends BaseValidate
{
    
    public $rule=[
        'fplxdm' => 'isinvalid|isfyorder|isintaxtime:app\Model\User'

    ];

    public $message=[
        'fplxdm.isinvalid' => 'errormsg1',
        'fplxdm.isfyorder' => 'errormsg2',
        'fplxdm.isintaxtime' => 'errormsg3',
    ];


    public function __construct()
    {

        self::extend('isintaxtime', 'App\rule\TaxValidate@IsInTaxTime');

        self::extend('isinvalid', 'App\rule\TaxValidate@IsInvalid');

        self::extend('isfyorder', 'App\rule\TaxValidate@IsFyOrder');
    }

   
    public function IsInTaxTime($attribute, $value, $parameters, $validator){
           //逻辑处理parameters:验证传入的参数:app\Model\User
     return call_user_func($parameters[0].'::checkIdExist', $value) ? true : false;
 
    }

    
    public function IsInvalid($attribute, $value, $parameters, $validator){
      //逻辑处理
        return false;
    }

    public function IsFyOrder($attribute, $value, $parameters, $validator){
      //逻辑处理
        return false;
    }

}

定义验证基类

class BaseValidate extends Validator
{



   public function gocheck(){

       //
       $re= self::make(Request::post(),$this->rule,$this->message);

       if ($re->fails())
       {
           throw new ValidationException($re);
       }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值