# express-validator/express-validator

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/express-validator-express-validator).**

6,238 stars · 628 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/express-validator/express-validator
- Homepage: https://express-validator.github.io
- awesome-repositories: https://awesome-repositories.com/repository/express-validator-express-validator.md

## Topics

`express` `expressjs` `javascript` `nodejs` `validation` `validator`

## Description

express-validator is a server-side input validation library designed specifically for Express.js applications. It provides middleware that validates and sanitizes incoming HTTP request data against developer-defined rules, collecting all validation failures into a single array for simultaneous error reporting rather than failing on the first error.

The library offers a chainable validation API where rules are built by chaining methods on a validation chain object, enabling declarative specification of multiple validators and sanitizers for a single request field. Each validation chain operates on a specific request field (such as body, query, or params), maintaining a context that tracks the field name, location, and validation state throughout execution. Validation rules can also be defined declaratively using a schema object that maps field names to validation and sanitization configurations, separating rule definition from application logic.

The library wraps and exposes the validator.js library's validation and sanitization functions as chainable methods, providing a consistent interface for common validation operations. Validation rules are defined as Express middleware functions that compose with other middleware in the request handling pipeline, allowing validation to be integrated directly into route definitions. The library also provides sanitization middleware that cleans and transforms request field values by applying sanitization functions before route handlers execute.

## Tags

### Web Development

- [Input Validation Libraries](https://awesome-repositories.com/f/web-development/input-validation-libraries.md) — A dedicated server-side library for defining validation chains on request fields with structured error objects.
- [Request Validation Middleware](https://awesome-repositories.com/f/web-development/request-validation-middleware.md) — Integrates validation logic as Express.js middleware to check request data before route handlers execute.
- [Sanitization Middleware](https://awesome-repositories.com/f/web-development/request-validation-middleware/sanitization-middleware.md) — Ships middleware that sanitizes request field values by applying transformation functions before route handlers run.

### Data & Databases

- [Request Validation](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-management-governance/data-integrity-validation/data-validation/request-validation.md) — Validates incoming HTTP request fields against developer-defined rules with structured error reporting. ([source](https://cdn.jsdelivr.net/gh/express-validator/express-validator@master/README.md))

### Security & Cryptography

- [Request Parameter Sanitization](https://awesome-repositories.com/f/security-cryptography/request-parameter-sanitization.md) — Provides middleware that sanitizes incoming request field values by applying validator.js sanitization functions. ([source](https://express-validator.github.io/docs/))

### Software Engineering & Architecture

- [Request Validation](https://awesome-repositories.com/f/software-engineering-architecture/request-validation.md) — Validates incoming HTTP request fields against developer-defined rules in an Express.js application. ([source](https://express-validator.github.io/docs/))
- [Chain Builders](https://awesome-repositories.com/f/software-engineering-architecture/request-validation/validation-chains/chain-builders.md) — Provides a chainable API for building reusable validation and sanitization rules for Express.js routes.
- [Schema-Driven Validations](https://awesome-repositories.com/f/software-engineering-architecture/data-validation-schemas/schema-driven-validations.md) — Validation rules are defined declaratively using a schema object mapping field names to validation and sanitization configurations.
- [Error Accumulators](https://awesome-repositories.com/f/software-engineering-architecture/error-accumulators.md) — Collects all validation errors into an array during request processing for simultaneous reporting.
- [Error Accumulation Middleware](https://awesome-repositories.com/f/software-engineering-architecture/error-accumulators/error-accumulation-middleware.md) — Middleware that collects all validation errors into an array during request processing for simultaneous reporting.
- [Validation Error Reporters](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/parse-error-reporters/serialization-error-reporters/validation-error-reporters.md) — Reports which request fields passed or failed validation rules with structured error messages for API responses.
- [Composable Middleware Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/request-interception-middleware/composable-middleware-pipelines.md) — Validation rules are defined as Express middleware functions that compose with other middleware in the request pipeline.
- [Chain-Based Validation Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/request-validation/validation-chains/chain-based-validation-pipelines.md) — Ships a chainable API where validation rules are built by chaining methods on a validation chain object.
- [Chainable Validation APIs](https://awesome-repositories.com/f/software-engineering-architecture/request-validation/validation-chains/chainable-validation-apis.md) — Provides a chainable API where validators and sanitizers are composed by chaining methods on a validation object.
- [Validation Schemas](https://awesome-repositories.com/f/software-engineering-architecture/validation-schemas.md) — Validation rules can be defined declaratively using a schema object mapping field names to validation configurations.

### User Interface & Experience

- [Input Sanitization Rules](https://awesome-repositories.com/f/user-interface-experience/input-field-enhancements/input-field-clearing/input-field-automators/input-sanitization-rules.md) — Cleans and transforms request field values by applying sanitization functions to remove or replace unwanted content.
