fix: 参数配置添加校验过滤长度~和-定义范围

This commit is contained in:
TsMask
2025-08-28 10:42:07 +08:00
parent a7024df325
commit d4e603be63

View File

@@ -29,8 +29,13 @@ export default function useOptions({ t }: any) {
case 'int':
// filter: "0~128"
if (filter && filter.indexOf('~') !== -1) {
const filterArr = filter.split('~');
if (filter) {
let filterArr = ['0', '1'];
if (filter.indexOf('-') !== -1) {
filterArr = filter.split('-');
} else if (filter.indexOf('~') !== -1) {
filterArr = filter.split('~');
}
const minInt = parseInt(filterArr[0]);
const maxInt = parseInt(filterArr[1]);
const valueInt = parseInt(value);
@@ -47,18 +52,12 @@ export default function useOptions({ t }: any) {
break;
case 'ipv4':
if (!regExpIPv4.test(value)) {
return [
false,
t('views.ne.neConfig.requireIpv4', { display }),
];
return [false, t('views.ne.neConfig.requireIpv4', { display })];
}
break;
case 'ipv6':
if (!regExpIPv6.test(value)) {
return [
false,
t('views.ne.neConfig.requireIpv6', { display }),
];
return [false, t('views.ne.neConfig.requireIpv6', { display })];
}
break;
case 'enum':
@@ -71,10 +70,7 @@ export default function useOptions({ t }: any) {
}
if (!Object.keys(filterJson).includes(`${value}`)) {
return [
false,
t('views.ne.neConfig.requireEnum', { display }),
];
return [false, t('views.ne.neConfig.requireEnum', { display })];
}
}
break;
@@ -90,10 +86,7 @@ export default function useOptions({ t }: any) {
}
if (!Object.values(filterJson).includes(`${value}`)) {
return [
false,
t('views.ne.neConfig.requireBool', { display }),
];
return [false, t('views.ne.neConfig.requireBool', { display })];
}
}
break;
@@ -101,12 +94,20 @@ export default function useOptions({ t }: any) {
// filter: "0~128"
// 字符串长度判断
if (filter && filter.indexOf('~') !== -1) {
if (filter) {
try {
const filterArr = filter.split('~');
let rule = new RegExp(
'^\\S{' + filterArr[0] + ',' + filterArr[1] + '}$'
);
let rule: RegExp = new RegExp('^.*$');
if (filter.indexOf('-') !== -1) {
const filterArr = filter.split('-');
rule = new RegExp(
'^.{' + filterArr[0] + ',' + filterArr[1] + '}$'
);
} else if (filter.indexOf('~') !== -1) {
const filterArr = filter.split('~');
rule = new RegExp(
'^\\S{' + filterArr[0] + ',' + filterArr[1] + '}$'
);
}
if (!rule.test(value)) {
return [
false,
@@ -157,10 +158,7 @@ export default function useOptions({ t }: any) {
break;
default:
return [
false,
t('views.ne.neConfig.requireUn', { display }),
];
return [false, t('views.ne.neConfig.requireUn', { display })];
}
return result;
}