diff --git a/backend/app/service/cronjob.go b/backend/app/service/cronjob.go
index 349e8a662..c4304e6ed 100644
--- a/backend/app/service/cronjob.go
+++ b/backend/app/service/cronjob.go
@@ -122,7 +122,9 @@ func (u *CronjobService) CleanRecord(req dto.CronjobClean) error {
}
}
cronjob.RetainCopies = 0
- u.removeExpiredBackup(cronjob, accountMap, model.BackupRecord{})
+ if len(accountMap) != 0 {
+ u.removeExpiredBackup(cronjob, accountMap, model.BackupRecord{})
+ }
} else {
u.removeExpiredLog(cronjob)
}
diff --git a/frontend/src/views/database/mysql/bind/index.vue b/frontend/src/views/database/mysql/bind/index.vue
index 9129a63c5..f547db6e2 100644
--- a/frontend/src/views/database/mysql/bind/index.vue
+++ b/frontend/src/views/database/mysql/bind/index.vue
@@ -18,6 +18,7 @@
+ {{ $t('commons.rule.illegalChar') }}
@@ -25,10 +26,13 @@
+
+ {{ $t('database.localhostHelper') }}
+
@@ -60,7 +64,6 @@ import { bindUser } from '@/api/modules/database';
import DrawerHeader from '@/components/drawer-header/index.vue';
import { Rules } from '@/global/form-rules';
import { MsgSuccess } from '@/utils/message';
-import { checkIp } from '@/utils/util';
const loading = ref();
const bindVisible = ref(false);
@@ -79,21 +82,11 @@ const confirmDialogRef = ref();
const rules = reactive({
username: [Rules.requiredInput, Rules.name],
- password: [Rules.paramComplexity],
+ password: [Rules.requiredInput, Rules.noSpace, Rules.illegal],
permission: [Rules.requiredSelect],
- permissionIPs: [{ validator: checkIPs, trigger: 'blur', required: true }],
+ permissionIPs: [Rules.requiredInput, Rules.noSpace, Rules.illegal],
});
-function checkIPs(rule: any, value: any, callback: any) {
- let ips = form.permissionIPs.split(',');
- for (const item of ips) {
- if (checkIp(item)) {
- return callback(new Error(i18n.global.t('commons.rule.ip')));
- }
- }
- callback();
-}
-
interface DialogProps {
from: string;
database: string;
diff --git a/frontend/src/views/database/mysql/create/index.vue b/frontend/src/views/database/mysql/create/index.vue
index 8f2761009..2dd4d27fd 100644
--- a/frontend/src/views/database/mysql/create/index.vue
+++ b/frontend/src/views/database/mysql/create/index.vue
@@ -43,10 +43,13 @@
+
+ {{ $t('database.localhostHelper') }}
+
@@ -86,7 +89,7 @@ import { ElForm } from 'element-plus';
import { addMysqlDB } from '@/api/modules/database';
import DrawerHeader from '@/components/drawer-header/index.vue';
import { MsgSuccess } from '@/utils/message';
-import { checkIp, getRandomStr } from '@/utils/util';
+import { getRandomStr } from '@/utils/util';
const loading = ref();
const createVisible = ref(false);
@@ -107,17 +110,8 @@ const rules = reactive({
username: [Rules.requiredInput, Rules.name],
password: [Rules.requiredInput, Rules.noSpace, Rules.illegal],
permission: [Rules.requiredSelect],
- permissionIPs: [{ validator: checkIPs, trigger: 'blur', required: true }],
+ permissionIPs: [Rules.requiredInput, Rules.noSpace, Rules.illegal],
});
-function checkIPs(rule: any, value: any, callback: any) {
- let ips = form.permissionIPs.split(',');
- for (const item of ips) {
- if (checkIp(item)) {
- return callback(new Error(i18n.global.t('commons.rule.ip')));
- }
- }
- callback();
-}
type FormInstance = InstanceType;
const formRef = ref();
diff --git a/frontend/src/views/database/mysql/password/index.vue b/frontend/src/views/database/mysql/password/index.vue
index e846c957a..1093f2195 100644
--- a/frontend/src/views/database/mysql/password/index.vue
+++ b/frontend/src/views/database/mysql/password/index.vue
@@ -18,12 +18,7 @@
-
+
{{ $t('commons.rule.illegalChar') }}
@@ -38,7 +33,9 @@
/>
- {{ $t('database.localhostHelper') }}
+
+ {{ $t('database.localhostHelper') }}
+
diff --git a/frontend/src/views/database/postgresql/bind/index.vue b/frontend/src/views/database/postgresql/bind/index.vue
index f85fc7d11..997e8778b 100644
--- a/frontend/src/views/database/postgresql/bind/index.vue
+++ b/frontend/src/views/database/postgresql/bind/index.vue
@@ -19,6 +19,7 @@
+ {{ $t('commons.rule.illegalChar') }}
{{ $t('database.pgSuperUser') }}
@@ -65,7 +66,7 @@ const confirmDialogRef = ref();
const rules = reactive({
username: [Rules.requiredInput, Rules.name],
- password: [Rules.paramComplexity],
+ password: [Rules.requiredInput, Rules.noSpace, Rules.illegal],
});
interface DialogProps {