15 lines
584 B
TypeScript
15 lines
584 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 tidak valid"),
|
|
maxParticipants: z.coerce.number().min(1, "Minimal 1 peserta"),
|
|
price: z.coerce.number().min(0, "Harga tidak valid"),
|
|
image: z.string().optional(),
|
|
});
|
|
|
|
export type CreateTripInput = z.infer<typeof createTripSchema>;
|