ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
> 得益于全局自定义异常的设计,验证器的使用可以变得更加灵活。 * * * * * ### 验证器基类 `goCheck` 方法,对客户端传递的参数做校验 ~~~ use app\lib\exception\ParameterException; use think\Request; use think\Validate; class BaseValidate extends Validate { /** * 获取客户端传递的参数进行校验 * @return bool * @throws ParameterException 参数异常 */ public function goCheck() { $request = Request::instance(); $data = $request->param(); $result = $this->batch()->check($data); if (!$result) { throw new ParameterException([ 'msg' => $this->getError() ]); } return true; } /** * 必须是正整数 */ protected function isPositiveInt($value, $rule, $data) { if (is_numeric($value) && is_int($value + 0) && ($value + 0) > 0) { return true; } else { return false; } } /** * 不能为空 */ protected function isNotEmpty($value, $rule, $data) { if (empty($value)) { return false; } else { return true; } } } ~~~ `ParameterException`的编码如下: ~~~ class ParameterException extends BaseException { public $code = 400; public $msg = '参数错误'; public $errCode = 10000; } ~~~ * * * * * 使用的实例请看下一小节