feat: upgrade zod v4 & use error instead of message

https://zod.dev/v4/changelog?id=deprecates-message
This commit is contained in:
javayhu 2025-08-03 00:35:22 +08:00
parent 89fd7193ac
commit 3c3dcd5d2a
10 changed files with 19 additions and 19 deletions

View File

@ -9,7 +9,7 @@ const actionClient = createSafeActionClient();
// Newsletter schema for validation // Newsletter schema for validation
const newsletterSchema = z.object({ const newsletterSchema = z.object({
email: z.email({ message: 'Please enter a valid email address' }), email: z.email({ error: 'Please enter a valid email address' }),
}); });
// Create a safe action to check if a user is subscribed to the newsletter // Create a safe action to check if a user is subscribed to the newsletter

View File

@ -18,9 +18,9 @@ const actionClient = createSafeActionClient();
// Checkout schema for validation // Checkout schema for validation
// metadata is optional, and may contain referral information if you need // metadata is optional, and may contain referral information if you need
const checkoutSchema = z.object({ const checkoutSchema = z.object({
userId: z.string().min(1, { message: 'User ID is required' }), userId: z.string().min(1, { error: 'User ID is required' }),
planId: z.string().min(1, { message: 'Plan ID is required' }), planId: z.string().min(1, { error: 'Plan ID is required' }),
priceId: z.string().min(1, { message: 'Price ID is required' }), priceId: z.string().min(1, { error: 'Price ID is required' }),
metadata: z.record(z.string(), z.string()).optional(), metadata: z.record(z.string(), z.string()).optional(),
}); });

View File

@ -18,9 +18,9 @@ const actionClient = createSafeActionClient();
// Credit checkout schema for validation // Credit checkout schema for validation
// metadata is optional, and may contain referral information if you need // metadata is optional, and may contain referral information if you need
const creditCheckoutSchema = z.object({ const creditCheckoutSchema = z.object({
userId: z.string().min(1, { message: 'User ID is required' }), userId: z.string().min(1, { error: 'User ID is required' }),
packageId: z.string().min(1, { message: 'Package ID is required' }), packageId: z.string().min(1, { error: 'Package ID is required' }),
priceId: z.string().min(1, { message: 'Price ID is required' }), priceId: z.string().min(1, { error: 'Price ID is required' }),
metadata: z.record(z.string(), z.string()).optional(), metadata: z.record(z.string(), z.string()).optional(),
}); });

View File

@ -16,10 +16,10 @@ const actionClient = createSafeActionClient();
// Portal schema for validation // Portal schema for validation
const portalSchema = z.object({ const portalSchema = z.object({
userId: z.string().min(1, { message: 'User ID is required' }), userId: z.string().min(1, { error: 'User ID is required' }),
returnUrl: z returnUrl: z
.string() .string()
.url({ message: 'Return URL must be a valid URL' }) .url({ error: 'Return URL must be a valid URL' })
.optional(), .optional(),
}); });

View File

@ -10,7 +10,7 @@ const actionClient = createSafeActionClient();
// Input schema // Input schema
const schema = z.object({ const schema = z.object({
userId: z.string().min(1, { message: 'User ID is required' }), userId: z.string().min(1, { error: 'User ID is required' }),
}); });
/** /**

View File

@ -14,7 +14,7 @@ const actionClient = createSafeActionClient();
// Input schema // Input schema
const schema = z.object({ const schema = z.object({
userId: z.string().min(1, { message: 'User ID is required' }), userId: z.string().min(1, { error: 'User ID is required' }),
}); });
/** /**

View File

@ -17,13 +17,13 @@ const actionClient = createSafeActionClient();
const contactFormSchema = z.object({ const contactFormSchema = z.object({
name: z name: z
.string() .string()
.min(3, { message: 'Name must be at least 3 characters' }) .min(3, { error: 'Name must be at least 3 characters' })
.max(30, { message: 'Name must not exceed 30 characters' }), .max(30, { error: 'Name must not exceed 30 characters' }),
email: z.email({ message: 'Please enter a valid email address' }), email: z.email({ error: 'Please enter a valid email address' }),
message: z message: z
.string() .string()
.min(10, { message: 'Message must be at least 10 characters' }) .min(10, { error: 'Message must be at least 10 characters' })
.max(500, { message: 'Message must not exceed 500 characters' }), .max(500, { error: 'Message must not exceed 500 characters' }),
}); });
// Create a safe action for contact form submission // Create a safe action for contact form submission

View File

@ -11,7 +11,7 @@ const actionClient = createSafeActionClient();
// Newsletter schema for validation // Newsletter schema for validation
const newsletterSchema = z.object({ const newsletterSchema = z.object({
email: z.email({ message: 'Please enter a valid email address' }), email: z.email({ error: 'Please enter a valid email address' }),
}); });
// Create a safe action for newsletter subscription // Create a safe action for newsletter subscription

View File

@ -10,7 +10,7 @@ const actionClient = createSafeActionClient();
// Newsletter schema for validation // Newsletter schema for validation
const newsletterSchema = z.object({ const newsletterSchema = z.object({
email: z.email({ message: 'Please enter a valid email address' }), email: z.email({ error: 'Please enter a valid email address' }),
}); });
// Create a safe action for newsletter unsubscription // Create a safe action for newsletter unsubscription

View File

@ -9,7 +9,7 @@ const actionClient = createSafeActionClient();
// Captcha validation schema // Captcha validation schema
const captchaSchema = z.object({ const captchaSchema = z.object({
captchaToken: z.string().min(1, { message: 'Captcha token is required' }), captchaToken: z.string().min(1, { error: 'Captcha token is required' }),
}); });
// Create a safe action for captcha validation // Create a safe action for captcha validation