Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Closes #1124
Attaching failed validation condition on calls to
context.addError
. This PR adds a nonenumerable property"condition"
to errors resulting from failed validation. This property is nonenumerable and therefore should not affect any existing express APIs that return output from express-validator. However, it can be used to determine which validation condition failed by reading error output and checking thecondition
property directly. This change maintains express-validator's goal of being unopinionated with regard to error messages while also allowing users to automatically generate human-readable error messages if they want to.For example, if an input fails an isLength validation,
contextError.condition.constructor.name === 'isLength'
, so I would be able to generate an error message referencing the specific condition that failed rather than a generic message.To preserve existing functionality with minimal impact, the
condition
property is always marked optional in theaddError
function signature.To-do list