FieldValidate.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace app\admin\validate\sys_manage;
  3. use think\Validate;
  4. class FieldValidate extends Validate
  5. {
  6. protected $rule = [
  7. 'field_status' => 'require|in:ACTIVED,DISABLED',
  8. 'field_category' => 'in:NORMAL,OTHER',
  9. 'field_name' => 'require|chsDash',
  10. 'field_table' => 'require|alphaDash',
  11. 'field_column_key' => 'alphaDash',
  12. 'field_column_datatype' => 'in:VARCHAR,DECIMAL,TEXT,DATE,DATETIME',
  13. // 'field_column_default' => 'chsDash',
  14. 'field_form_key' => 'in:id,name',
  15. 'field_form_type' => 'alphaDash',
  16. // 'field_form_default' => 'chsDash',
  17. 'field_refer_json' => 'isJson',
  18. // 'field_remark' => 'chsDash',
  19. 'field_extend_json' => 'isJson'
  20. ];
  21. protected $message = [];
  22. protected $scene = [
  23. 'add' => ['field_status', 'field_category', 'field_name', 'field_table', 'field_column_key', 'field_column_datatype', 'field_form_key', 'field_form_type', 'field_refer_json', 'field_extend_json'],
  24. 'update' => ['field_category', 'field_name', 'field_table', 'field_column_key', 'field_column_datatype', 'field_form_key', 'field_form_type', 'field_refer_json', 'field_extend_json'],
  25. 'update_status' => ['field_status']
  26. ];
  27. /**
  28. * @Desc 验证json
  29. * @Author Gorden
  30. * @Date 2024/2/22 14:09
  31. *
  32. * @param $value
  33. * @return string|true
  34. */
  35. protected function isJson($value)
  36. {
  37. if (!is_string($value)) {
  38. return '数据格式错误~';
  39. }
  40. json_decode($value);
  41. if (json_last_error() === JSON_ERROR_NONE) {
  42. return true;
  43. }
  44. return '数据格式错误~';
  45. }
  46. }