Files
setrip/features/trip/schemas.ts
T
2026-04-17 00:16:31 +07:00

18 lines
690 B
TypeScript

import { z } from "zod/v4";
export const createTripSchema = z.object({
title: z.string().min(3, "Judul minimal 3 karakter"),
description: z.string().optional(),
mountain: z.string().min(2, "Nama gunung harus diisi"),
location: z.string().min(2, "Lokasi harus diisi"),
date: z.string().refine((val) => !isNaN(Date.parse(val)), "Tanggal berangkat tidak valid"),
endDate: z
.string()
.optional()
.refine((val) => !val || !isNaN(Date.parse(val)), "Tanggal pulang tidak valid"),
maxParticipants: z.coerce.number().min(1, "Minimal 1 peserta"),
price: z.coerce.number().min(0, "Harga tidak valid"),
});
export type CreateTripInput = z.infer<typeof createTripSchema>;