how to validate data in javascript
Tags: javascript, beginners, programming, tutorial
Published: 2022-02-10 19:11:06

## introduction

we build project and websites , sometimes encounter problems that need solve, but what if we come out with problem of how we validate data in correct way, this is major question and what the data structure you want to validate!, like you want validate and email and password you want to add specific rules to keep users Entering emails correctly,but that too tough or you are not expert in validating strings or regex or anythings like that.

## how to solve ?

developers like to use validation library to solve there problems and focus in there business, so this point help me to start building [volder](https://github.com/devSupporters/volder) validation library helping people to describe data in good structure and well design. 

## what is volder 

[**volder**](https://github.com/devSupporters/volder) is javascript npm package, it's powerful Object schema validation, it lets you describe your data using a simple and readable schema and transform a value to match the requirements, it has custom error messages, custom types and nested schemas.

- [volder documentaion website](https://volder.vercel.app/)
- [volder github](https://github.com/devSupporters/volder)

## let's take an example
in this example we use volder package for user login validation, first thing install volder package
`npm install --save volder`

volder package has 
- `Volder` constructor to describe and structure your multiple data.
- `SingleVolder` function it's used for describe single data.
- volder support other types like `Email` or `CreditCard`.

this code shows you how to describe your data for user validation

```js
import { Volder, Email } from 'volder';


const userSchema = new Volder({
    username: {
        type: [String, 'username must be in string'],
        alphanumeric: [true, 'username should only contain letters and numbers'],
        minLength: [4, 'username at least 4 characters'],
        maxLength: [16, 'username at most 16 characters'],
        required: [true, 'username is required'],
        trim: true
    },
    email: {
        type: [String ,'email must be in string'],
        pattern: [Email, 'not valid email'],
        maxLength: [150, 'email be at most 150 characters'],
        required: [ true,'email is required'],
        trim: true
    },
    password: {
        type: [String , 'password must be in string'],
        minLength:[8, 'password should be at least 8 characters'],
        maxLength: [30, 'password should be at most 30 characters'],
        required: [ true, 'password is required'],
        matches: ["^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]$", 'password must contain numbers and letters']
        
    }
})

const { valid, errors, value } = userSchema.validate(input);
```

see more example: [https://github.com/alguerocode/js-volder](https://github.com/alguerocode/js-volder)

## how to help me

there a variety of ways to help me for example install volder and use it in your project, contributing to [volder repository](https://github.com/devSupporters/volder) or just add a ⭐ star ⭐ to [volder repository](https://github.com/devSupporters/volder) and i will thank you very much.

thank for reading