No big news from me again — just enjoying the summer with my family and prepping some fresh content for you. In this issue, you'll find a handy Nuxt tip on validating data in your server routes. Hope you enjoy it!
👉🏻 Learn how to make a simple to-do app with Nuxt.
👉🏻 Instead of manually defining server routes and fetching them on the client, the author uses Prim+RPC to define functions on Nuxt's server and simply call those functions directly from the client.
👉🏻 Focus on building your product and not worry about setting up auth, database, infrastructure, payments, and more.
💡 Nuxt Tip: Validate Data in Your Server Routes
When you are working with Nuxt server routes, you should always validate the data that you receive from the client before processing it.
This is important to ensure that your application is secure and that you are not vulnerable to attacks such as SQL injection or cross-site scripting. Additionally, validating your data can help you catch errors early on and prevent them from causing issues later on in your application.
Luckily, h3 provides a simple and powerful way to validate data in your Nuxt server routes.
h3 is the H(TTP) server framework which is used by Nitro, which is the server engine used in Nuxt 3+.
It provides the following utility methods to help you validate your data:
getValidatedQuery to validate query parameters
getValidatedRouterParams to validate route parameters
readValidatedBody to validate the request body
h3 allows you to use the validation library of your choice like Zod, Yup, or Joi to validate your data.
For this example, we will use Zod to validate the data in our Nuxt server routes with the following schema:
1import { z } from 'zod';23const productSchema = z.object({4 name: z.string().min(3).max(20),5 id: z.number({ coerce: true }).positive().int(),6});
Let's see how we can use these validation utils to validate query parameters in our Nuxt server routes. Therefore, you can use the getValidatedQuery method provided by h3 instead of getQuery. This method takes the schema that you want to validate the query parameters against and returns the validated query parameters:
Sunday, January 5, 2025 Update: Bluesky images work again and thus the Great Art on Bluesky channel is back. If you're on Bluesky please subscribe. # The crazy thing about Bluesky's API is they took already standardized things like links and enclosures, and after 20+ years came up with new definitions. Makes our apps more expensive to maintain, and we waste time and human wear and tear on stupid bullshit make-work. Developers are people, and our work is already horribly overly complex, we're working at the edge of comprehension, and what the fukc let's throw some more unnecessary complication into the mix. Arrogance, narcissism, whatever the source is, it's not a good way to introduce yourself. And, even better, after you go through the maze they break it, with an error message about legacy blob bullshit. They've already done this, and they're just getting started. It's why I say they should just adapt to RSS instead of trying to forc...
评论
发表评论