validation-helper-lib
v1.0.1
Published
Full-stack input validation: validators, schemas, and error reporting for forms and APIs
Downloads
186
Maintainers
Readme
validation-helper-lib
Full-stack input validation and sanitization: validators, schema-based run, and type coercion. Use in forms (client) and API handlers (server) for consistent rules.
Features
- Zero dependencies
- Validators — required, isString, isEmail, isUrl, minLength, maxLength, min, max, oneOf, pattern, custom
- Schema — run(schema, data) → { valid, errors }, compose, field()
- Sanitize — trim, toNumber, toInteger, toBoolean, trimObject, pickAndTrim
Installation
npm install validation-helper-libQuick Start
const {
required,
isEmail,
minLength,
run,
runFlat,
compose,
trim,
toNumber,
} = require('validation-helper-lib');
// Single validator
required(''); // 'This field is required'
isEmail('[email protected]'); // null (valid)
minLength('hi', 3); // 'Must be at least 3 characters'
// Schema (e.g. API body or form state)
const schema = {
email: [required, isEmail],
password: [required, (v) => minLength(v, 8)],
age: [required, (v) => (v >= 0 && v <= 150 ? null : 'Invalid age')],
};
const { valid, errors } = run(schema, { email: 'bad', password: 'short' });
// valid === false, errors === { email: ['Invalid email'], password: ['Must be at least 8 characters'] }
// With api-helper-lib
// const validation = runFlat(schema, body);
// if (!validation.valid) return validationErrorResponse(validation.errors);
// Sanitize
trim(' hello '); // 'hello'
toNumber('42'); // 42
toBoolean('true'); // trueSubpath Imports
const validators = require('validation-helper-lib/validators');
const schema = require('validation-helper-lib/schema');
const sanitize = require('validation-helper-lib/sanitize');API
validators — required, isString, isNumber, isInteger, isBoolean, isEmail, isUrl, minLength, maxLength, min, max, inRange, oneOf, pattern, custom
schema — run, runFlat, compose, field
sanitize — trim, toNumber, toInteger, toBoolean, toString, trimObject, pickAndTrim
License
MIT
