控制器中调用
(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);
}
}
}