fix: demo validator usage & types import

This commit is contained in:
allen
2026-04-13 20:15:47 +08:00
parent e808fe74c1
commit 12a81a7a7d
6 changed files with 23 additions and 12 deletions

View File

@@ -1,4 +1,6 @@
<script lang="ts" setup>
import type { CollapsibleParamSchema } from '@vben-core/shadcn-ui';
import { ref } from 'vue';
import { Page } from '@vben/common-ui';
@@ -18,20 +20,21 @@ const layouts = [
const layout = ref(layouts[0].value);
function getNumberValidator(key: string, limit?: [number, number]) {
const validator = z.number({
let validator = z.number({
required_error: `${key} 值不能为空`,
invalid_type_error: `${key} 值只能为数字`,
});
if (limit) {
validator.min(limit[0], { message: `${key} 值不在区间范围内` });
validator.max(limit[1], { message: `${key} 值不在区间范围内` });
validator = validator
.min(limit[0], { message: `${key} 值不在区间范围内` })
.max(limit[1], { message: `${key} 值不在区间范围内` });
}
return validator.default(null);
}
const paramsSchema = [
const paramsSchema: CollapsibleParamSchema[] = [
{
key: 'micro_batch_size',
description: `批次大小,代表模型训练过程中,模型更新模型参数的数据步长,可理解为模型每看多少数据即更新一次模型参数,
@@ -95,7 +98,7 @@ const paramsSchema = [
max: 2_147_483_647,
},
},
] as CollapsibleParamSchema[];
];
const paramsValidator = z.object({
micro_batch_size: getNumberValidator('micro_batch_size', [8, 1024]),