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 {