1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- // +----------------------------------------------------------------------
- // | Niucloud-admin 企业快速开发的saas管理平台
- // +----------------------------------------------------------------------
- // | 官方网址:https://www.niucloud.com
- // +----------------------------------------------------------------------
- // | niucloud团队 版权所有 开源版本可自由商用
- // +----------------------------------------------------------------------
- // | Author: Niucloud Team
- // +----------------------------------------------------------------------
- namespace app\validate\sys;
- use app\dict\sys\MenuTypeDict;
- use app\dict\sys\MethodDict;
- use think\facade\Lang;
- use think\Validate;
- /**
- * Class Menu
- * @package app\validate\sys
- */
- class Menu extends Validate
- {
- //用户名或密码的规范可能是从数据库中获取的
- protected $rule = [
- 'menu_name' => 'require',
- // 'menu_key' => 'unique:sys_menu',//防止key值重复
- 'menu_type' => 'require|checkMenuType',
- 'methods' => 'requireWith:api_url|checkMethodType',
- 'router_path' => 'requireIf:menu_type,1',
- 'view_path' => 'requireIf:menu_type,1'
- ];
- protected $message = [
- 'menu_name.require' => 'validate_menu.menu_name_require',
- 'router_path.requireIf' => 'validate_menu.router_path_requireif',
- 'view_path.requireIf' => 'validate_menu.view_path_requireif',
- 'methods.requireWith' => 'validate_menu.methods_requirewith',
- ];
- protected $scene = [
- 'add' => ['menu_name', 'menu_type', 'menu_key', 'router_path', 'view_path', 'methods'],
- 'edit' => ['menu_name', 'menu_type', 'router_path', 'view_path', 'methods'],//更新得时候因为key中有上下级关系,所以menu_key字段是不能更新得
- ];
- /**
- * 自定义验证 菜单类型
- * @param $value
- * @param $rule
- * @param array $data
- * @return Lang|true
- */
- protected function checkMenuType($value, $rule, $data = [])
- {
- return isset(MenuTypeDict::getMenuType()[$value]) ? true : get_lang("validate_menu.not_exit_menu_type");
- }
- /**
- * 自定义验证 请求类型
- * @param $value
- * @param $rule
- * @param array $data
- * @return Lang|true
- */
- protected function checkMethodType($value, $rule, $data = [])
- {
- return isset(MethodDict::getMethodType()[$value]) ? true : get_lang("validate_menu.not_exit_request_type");
- }
- }
|