DynamicValidator.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Http\Validator;
  3. class DynamicValidator extends BaseValidator
  4. {
  5. // 当前模型所有验证规则
  6. public static $rules = [
  7. 'id' => 'required',
  8. 'content' => 'required|string|min:1|max:500',
  9. ];
  10. // 当前模型所有错误提示信息
  11. public static $msgs = [
  12. 'required' => ':attribute不能为空',
  13. 'string' => ':attribute必须是字符串',
  14. 'min' => ':attribute长度不能小于:min位',
  15. 'max' => ':attribute长度不能大于:max位',
  16. 'exists' => ':attribute不存在',
  17. 'rule' => ':attribute格式不正确',
  18. ];
  19. // 当前模型所有验证字段
  20. public static $fields = [
  21. 'id' => 'ID',
  22. 'content' => '内容',
  23. ];
  24. // 当前模型所有验证场景
  25. public static $scenes = [
  26. 'info'=> ['id'],
  27. 'publish'=> ['content'],
  28. 'comment'=> ['id','content'],
  29. ];
  30. /**
  31. * 验证
  32. * @param $request
  33. * @param string $scene
  34. * @return int|mixed
  35. */
  36. public static function check($request, $scene=''){
  37. $validator = new BaseValidator(self::$rules, self::$msgs, self::$fields, self::$scenes);
  38. return $validator->checkParams($request, $scene);
  39. }
  40. }