1.1.0 • Published 6 months ago
burhan-req-validator v1.1.0
Custom Validator
A lightweight and customizable field validation library using Joi, inspired by Laravel's validation rules. Simplifies data validation with intuitive rule-based syntax.
Installation
npm install burhan-req-validator
Usage
const { validateFields } = require('burhan-req-validator');
const data = {
channel_id: "12345",
tags: ["sports", "music"],
isActive: true
};
const rules = {
channel_id: "required|string",
tags: "array|items:string",
isActive: "required|boolean"
};
const { error } = validateFields(data, rules);
if (error) {
console.log("Validation Error:", error.details.map(detail => detail.message));
} else {
console.log("Validation Passed!");
}
Complex Validation
const { validateFields } = require('burhan-req-validator');
const data = {
username: "JohnDoe",
age: 25,
tags: ["sports", "music"],
profile: { bio: "Hello world!" },
birthDate: "1990-01-01",
isActive: true
};
const rules = {
username: "required|string|min:3|max:20",
age: "required|integer|min:18",
tags: "array|items:string",
profile: "object",
birthDate: "required|date",
isActive: "required|boolean"
};
const { error } = validateFields(data, rules);
if (error) {
console.log("Validation Error:", error.details.map(detail => detail.message));
} else {
console.log("Validation Passed!");
}
Roles
Supported rules:
- required: Field is required.
- string: Validates that the field is a string.
- email: Validates that the field is a valid email address.
- max:: Specifies the maximum length or value.
- min:: Specifies the minimum length or value.
- integer: Validates that the field is an integer.
- number: Validates that the field is a number.
- boolean: Validates that the field is a boolean (
true
orfalse
). - date: Validates that the field is a valid date.
- object: Validates that the field is an object.
- array: Validates that the field is an array.
- items:: Specifies the type of elements within the array (e.g.,
items:string
,items:number
).
- items:: Specifies the type of elements within the array (e.g.,
- nullable: Allows the field to be
null
. - regex:: Validates the field against a custom regular expression.
1.1.0
6 months ago