@jamesadebayo/validator
v1.0.0
Published
A lightweight, rule-based data and form validation package for Node.js with built-in terminal color formatting for validation feedback.
Readme
@jamesadebayo/validator
A lightweight, rule-based data and form validation package for Node.js with built-in terminal color formatting for validation feedback.
Features
- Pipe-separated Rule Syntax: Define validation rules using simple strings like
"required|email"or"required|min:8". - Form Object & Single Field Validation: Validate individual input values or complete form data objects.
- Built-in Rules:
required: Ensures values are notnull,undefined,"", or whitespace-only strings.email: Validates standard email address formats.min:N: Enforces minimum string length.max:N: Enforces maximum string length.
- Colorized Console Output: Terminal status output formatted in green (pass), red (fail), and blue (header).
Installation
npm install @jamesadebayo/validatorUsage Examples
1. Form Object Validation
Validate an entire form payload against a schema of rules:
const Validator = require('@jamesadebayo/validator');
const validator = new Validator();
const formData = {
email: "[email protected]",
password: ""
};
const formRules = {
email: "required|email",
password: "required|min:8"
};
const result = validator.validate(formData, formRules);
console.log(result);
/* Output:
{
isValid: false,
errors: {
password: [ 'password is required' ]
}
}
*/2. Single Field Validation
Validate single field inputs using validateField:
// Validate email
const emailResult = validator.validateField("Email", "[email protected]", "required|email");
console.log(emailResult.isValid); // true
// Validate password
const passResult = validator.validateField("Password", "12345", "required|min:8");
console.log(passResult.errors); // ['Password must be at least 8 characters']3. Helper Methods
Use built-in shorthand methods for quick input checks:
// Email check
console.log(validator.email("[email protected]")); // Validates required + email format
// Password check
console.log(validator.password("mySecretPass123", "required|min:8"));
// Empty field check
console.log(validator.isEmpty(" ")); // trueAPI Reference
validator.validate(formData, schema)
Validates an object of inputs against a schema object.
- Returns:
{ isValid: boolean, errors: Object }
validator.validateField([fieldName], value, rules)
Validates a single field value against a pipe-separated rule string.
- Returns:
{ isValid: boolean, errors: string[], message: string }
validator.isEmpty(value)
Checks if a value is empty or whitespace-only.
- Returns:
boolean
License
ISC
