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