2026-05-02 13:02:57 +08:00

18 lines
821 B
TypeScript

import { z } from "zod";
const optionalText = (max: number, message: string) => z.string().trim().max(max, message).optional().default("");
export const roomUpdateSchema = z.object({
coverUrl: optionalText(512, "房间头像不能超过 512 个字符"),
description: optionalText(512, "房间简介不能超过 512 个字符"),
title: z.string().trim().min(1, "请输入房间名称").max(128, "房间名称不能超过 128 个字符"),
visibleRegionId: z.coerce.number().int().min(0, "区域 ID 不正确").default(0)
});
export const roomStatusSchema = z.object({
status: z.string().trim().refine((value) => value === "active" || value === "closed", "房间状态不正确")
});
export type RoomUpdateForm = z.infer<typeof roomUpdateSchema>;
export type RoomStatusForm = z.infer<typeof roomStatusSchema>;