Limited Period Offer : 20% Discount on online/offline courses, for more details call/whatsapp

Establishing Validation by Converting TypeScript Code to Zod Schemas

0 min read
1 year ago By Mitali Gupta
Establishing Validation by Converting TypeScript Code to Zod Schemas

Data validation plays a crucial role in software development to ensure data integrity and prevent errors. In this article, we will explore the process of converting TypeScript code to Zod schemas to establish effective data validation. By leveraging Zod's powerful validation capabilities.

  • Install Zod:
  npm install zod

or

  yarn add zod
  • .Import zod :
import { z } from 'zod';
  • Convert TypeScript Types to Zod Schemas:
import * as z from 'zod';

type Status = 'active' | 'inactive';

const statusSchema = z.union([z.literal('active'), z.literal('inactive')]);
//  Typescript type
interface User {
  name: string;
  age: number;
  status: Status;
  email?: string;
}

// Zod Schema
const userSchema = z.object({
  name: z.string(),
  age: z.number(),
  status: statusSchema,
  email: z.string().optional(),
});

  • Define Validation Rules:
import * as z from 'zod';

const statusSchema = z.union([z.literal('active'), z.literal('inactive')]);

const userSchema = z.object({
  name: z.string(),
  age: z.number(),
  status: statusSchema,
  email: z.string().optional(),
});
  • Validate data :
const userData = {
  name: 'Mohan',
  age: 25,
  status: 'active',
  email: 'mohan@example.com',
};

try {
  const validatedData = userSchema.parse(userData);
  console.log(validatedData); // Validated data
} catch (error) {
  if (error instanceof z.ZodError) {
    console.error(error.errors); // Validation errors
  } else {
    console.error('An error occurred during validation.');
  }
}


Jun 21, 2023 12:00 Back to Articles

Other Articles

Level Order Traversal in Binary Tree

In a Binary Tree the level order traversal is used to traverse all the elements of binary tree by starting from root to traversing all nodes of one level before moving to other level.

1 year ago By Aniket Prajapati
Real DOM VS Virtual DOM

In this article, we will discuss the differences between the real DOM and the virtual DOM in the context of web development. We'll explore how these concepts impact the performance and efficiency of web applications, and how they contribute to the overall user experience. By the end of this article, you'll have a clear understanding of the distinctions between these two approaches to managing and updating user interfaces on the web.

1 year ago By Mitali Gupta
How to use and upload profile photos to AWS s3 using laravel jetstream

Using jetsream to upload photos to s3 configuration and details

1 year ago By Santosh Kshirsagar
Arrays Introduction

An array is a continuous block of memory location which can store data of same datatype.

1 year ago By Aniket Prajapati