优化权限规则

pull/516/MERGE
Karson 2026-01-07 18:13:26 +08:00
parent 063773b3b5
commit 10150d7f13
2 changed files with 8 additions and 7 deletions

View File

@ -99,7 +99,8 @@ class Rule extends Backend
if (!$params['ismenu'] && !$params['pid']) {
$this->error(__('The non-menu rule must have parent'));
}
$result = $this->model->validate()->save($params);
$validate = \think\Loader::validate('AuthRule', 'validate', false, 'admin');
$result = $this->model->validate($validate)->save($params);
if ($result === false) {
$this->error($this->model->getError());
}
@ -137,11 +138,11 @@ class Rule extends Backend
}
}
//这里需要针对name做唯一验证
$ruleValidate = \think\Loader::validate('AuthRule');
$ruleValidate = \think\Loader::validate('AuthRule', 'validate', false, 'admin');
$ruleValidate->rule([
'name' => 'require|unique:AuthRule,name,' . $row->id,
'name' => 'require|regex:format|unique:AuthRule,name,' . $row->id,
]);
$result = $row->validate()->save($params);
$result = $row->validate($ruleValidate)->save($params);
if ($result === false) {
$this->error($row->getError());
}

View File

@ -16,7 +16,7 @@ class AuthRule extends Validate
* 验证规则
*/
protected $rule = [
'name' => 'require|unique:AuthRule',
'name' => 'require|regex:format|unique:AuthRule',
'title' => 'require',
];
@ -24,7 +24,7 @@ class AuthRule extends Validate
* 提示消息
*/
protected $message = [
'name.format' => 'URL规则只能是小写字母、数字、下划线和/组成'
'name.regex' => 'URL规则只能是小写字母、数字、下划线和/组成'
];
/**
@ -45,7 +45,7 @@ class AuthRule extends Validate
'name' => __('Name'),
'title' => __('Title'),
];
$this->message['name.format'] = __('Name only supports letters, numbers, underscore and slash');
$this->message['name.regex'] = __('Name only supports letters, numbers, underscore and slash');
parent::__construct($rules, $message, $field);
}