AddonDevelop.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的多应用管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\validate\addon;
  12. use app\dict\addon\AddonDict;
  13. use think\Validate;
  14. /**
  15. * 开发插件
  16. */
  17. class AddonDevelop extends Validate
  18. {
  19. protected $rule = [
  20. 'key' => 'require|regex:/^[a-zA-Z][a-zA-Z0-9_]{0,19}$/|keyBlacklist',
  21. 'type' => 'require|checkType',
  22. ];
  23. protected $message = [
  24. 'key.require' => 'validate_addon.key_require',
  25. 'key.regex' => 'validate_addon.key_regex',
  26. 'key:in' => 'validate_addon.key_regex',
  27. 'type.require' => 'validate_addon.type_require',
  28. ];
  29. protected $scene = [
  30. 'add' => ['key', 'type'],
  31. 'edit' => ['type']
  32. ];
  33. protected function checkType($value, $rule, $data = [])
  34. {
  35. return (!empty($value) && isset(AddonDict::getType()[$value])) ? true : get_lang('validate_addon.not_exit_type');
  36. }
  37. public function keyBlacklist($value, $rule, $data = []) {
  38. return in_array($value, AddonDict::ADDON_KEY_BLACK_LIST) ? get_lang("validate_addon.in_black_list") : true;
  39. }
  40. }