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:
Weekly Vue News #141 Share Styling Using Wrapper Components View online Hi 👋 I got the opportunity to raffle 3 in-person tickets for the first edition of the C3 Dev Festival in Amsterdam. You can participate here. Have a nice week ☀️ Vue 📕 Effortless Forms w/ FormKit 👉🏻 This article on FormKit teaches you how to build forms effortlessly, with a focus on great UX. 📕 Vue Tip: Best Practices for Working with Slots 👉🏻 When developing with slots in Vue.js, it's important to follow some best practices to ensure clean and maintainable code. 📹 This is the Future of Vue 👉🏻 Matt took a look at what exactly makes Vue Vapor so exciting. 📹 Should You Use Vue Slots Over Props? 👉🏻 John talks about the pros & cons of using Vue slots instead of props. 🛠️ Pinia Colada 👉🏻 An opinionated yet flexible data fetching layer on top of Pinia. 👉🏻 It's still experimental and not ready for production. 🛠️ vue-tel-input 👉🏻 International Telephone Input with Vue. 🔥 Vue Tip: Share S...
Tuesday, October 8, 2024 Podcast : I was able to write a post that appeared on Mastodon using ActivityPub. Via the WordPress API. Congrats to the ActivtyPub community, Automattic and Mastodon. "It just worked." # Okay this is blowing my mind. My friends at Automattic showed me how to turn on ActivityPub on a WordPress site. I wrote a test post in my simple WordPress editor, forgetting that it would be cross-posted to Mastodon. When I just checked in on Masto, there was the freaking post . After I recovered from passing out, I wondered what happens if I update the post in my editor, and save it to the WordPress site that's hooked up to Masto via ActivityPub. So I made a change and saved it. I waited and waited, nothing happened. I got ready to add a comment saying ahh I guess it doesn't update, when -- it updated. Oh geez look at that. Folks, I did nothing here but write an app that can be used to edit WordPress posts. And I got in return an app that...
Tuesday, August 20, 2024 My linkblog, which posts to the Links tab on Scripting News, as well as Bluesky , Mastodon and RSS , now also posts to Twitter and Threads . # Today would have been my mother's 92nd birthday. She died in 2018, and I still haven't, deep inside, fully gotten the message that she's gone. Probably the most significant person in my life. I find most of my adult relationships can be traced back to my relationship with her. # Ignore the NY Times # When President Biden took the stage last night at the DNC, I had a moment of buyer's remorse. He looked so good in his black suit, and the pictures of the new candidates, and their spouses, looked comical in comparison to the president who was about to speak. # Why did Walz have a permanent frown on his face. I find his presence next to Harris is almost always awkward. He's taller, and moves a lot. I noticed this with Sanders when he was debating Clinton in 2016. Sh...
评论
发表评论