fix: Fix the issue of compose name validation errors (#7382)
Some checks failed
SonarCloud Scan / SonarCloud (push) Failing after 4s

Refs #7380
This commit is contained in:
ssongliu 2024-12-17 12:16:12 +08:00 committed by GitHub
parent 4c03a482bd
commit 9539fd40eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 24 additions and 1 deletions

View file

@ -220,6 +220,19 @@ const checkImageName = (rule: any, value: any, callback: any) => {
}
};
const checkComposeName = (rule: any, value: any, callback: any) => {
if (value === '' || typeof value === 'undefined' || value == null) {
callback(new Error(i18n.global.t('commons.rule.composeName')));
} else {
const reg = /^[a-z0-9]{1}[a-z0-9_-]{0,256}$/;
if (!reg.test(value) && value !== '') {
callback(new Error(i18n.global.t('commons.rule.composeName')));
} else {
callback();
}
}
};
const checkVolumeName = (rule: any, value: any, callback: any) => {
if (value === '' || typeof value === 'undefined' || value == null) {
callback(new Error(i18n.global.t('commons.rule.volumeName')));
@ -564,6 +577,7 @@ interface CommonRule {
simplePassword: FormItemRule;
dbName: FormItemRule;
imageName: FormItemRule;
composeName: FormItemRule;
volumeName: FormItemRule;
linuxName: FormItemRule;
password: FormItemRule;
@ -644,6 +658,11 @@ export const Rules: CommonRule = {
validator: checkImageName,
trigger: 'blur',
},
composeName: {
required: true,
validator: checkComposeName,
trigger: 'blur',
},
volumeName: {
required: true,
validator: checkVolumeName,

View file

@ -195,6 +195,8 @@ const message = {
dbName: `This field mustn't start with underscore character and must consist of English, numbers, and "_" characters with a length of 1-64.`,
imageName:
'This field must consist of English, numbers, ":", "@", "/", ".", "-", and "_" characters with a length of 1-256.',
composeName:
'Supports non-special characters at the beginning, lowercase letters, numbers, - and _, length 1-256',
volumeName:
'This field must consist of English, numbers, ".", "-", and "_" characters with a length of 2-30.',
supervisorName:

View file

@ -194,6 +194,7 @@ const message = {
simplePassword: '支持非底線開頭英文數字_,長度1-30',
dbName: '支持非特殊字符開頭英文中文數字.-_長度1-64',
imageName: '支持英文數字:@/.-_,長度1-256',
composeName: '支持非特殊字符開頭小寫英文數字-和_長度1-256',
volumeName: '支持英文數字.-和_,長度2-30',
supervisorName: '支援非特殊字元開頭,英文數字-和_,長度1-128',
complexityPassword: '請輸入長度為 8-30 並包含字母數字至少兩種特殊字符的密碼組合',

View file

@ -193,6 +193,7 @@ const message = {
simplePassword: '支持非下划线开头英文数字_,长度1-30',
dbName: '支持非特殊字符开头英文中文数字.-_,长度1-64',
imageName: '支持英文数字:@/.-_,长度1-256',
composeName: '支持非特殊字符开头小写英文数字-和_,长度1-256',
volumeName: '支持英文数字.-和_,长度2-30',
supervisorName: '支持非特殊字符开头,英文数字-和_,长度1-128',
complexityPassword: '请输入长度为 8-30 位且包含字母数字特殊字符至少两项的密码组合',

View file

@ -169,7 +169,7 @@ const form = reactive({
envFileContent: `env_file:\n - 1panel.env`,
});
const rules = reactive({
name: [Rules.requiredInput, Rules.imageName],
name: [Rules.requiredInput, Rules.composeName],
path: [Rules.requiredInput],
template: [Rules.requiredSelect],
});