🚀 🙌 First major version in almost 4 years! 🚀 🤯
Thanks everybody for having the patience. Hopefully this version brings many improvements to your developer experience!
Breaking changes 💥
- Minimum supported Node.js version is now 14+
- Removed deprecated APIs - #993
- Import paths
express-validator/check
andexpress-validator/filter
- Sanitization-only middlewares (e.g.
sanitize()
,sanitizeBody()
, etc) - Deprecated TypeScript types (
ValidationParamSchema
andValidationSchema
)
- Import paths
isObject()
validator now assumesoptions.strict = true
by default- Validation errors changed shape
- Field validation errors
param
property has been renamed topath
oneOf()
validation errors no longer have aparam: '_error'
property
- Field validation errors
- (TypeScript only) The
ValidationError
type is now a discriminated union, it might be necessary to useswitch
orif
statements to check that you're dealing with the type that you want to debug/format oneOf()
signature changed: fromoneOf(chains, message)
tooneOf(chains, options: { message, errorType })
oneOf()
default error structure now groups errors by their... validation group!, instead of in a flat list
Checkout the migration guide for examples on how to work around some of these:
https://express-validator.github.io/docs/migration-v6-to-v7
New features ✨
- Added validation for no unknown fields - #558, #612, #1148, #809, #927, #1204
- Added globstars (deep wildcard) support - #1137, #1216
- Added support for multiple custom validators/sanitizers in
checkSchema()
- #552, #1180 - Added request-level bail - #1100, #1214
- Added a
ExpressValidator
class which allows adding "persistent" custom validators, sanitizers, and options - #1077, #1079, #1209 - Added
oneOf()
support to.if()
- #1170 - Added new error types to
oneOf()
- #956, #1022
Bug fixes 🐛
- Sanitizing arrays no longer drops all but the first value - #791, #755, #704, #1002
- Added missing
ko-KR
toMobilePhoneLocale
- #1218, #1219
New Contributors
- @Yoowatney made their first contribution in #1219
Full Changelog: v6.15.0...v7.0.0