Я искал валидатор, который требует определенного параметра, если есть параметр, равный определенному значению. Может быть, что-то вроде этого:
const allowedsMethods = ['A', 'B'];
...
check('method').custom(method => allowedMethods.includes(method))
check('paramA').requireIfContains('method', ['A'])
check('paramB').requireIfContains('method', ['A'])
check('paramAorB').requireIfContains('method', ['A', 'B'])
- Если
method
содержится внутри ['A']
, то потребуется свойство paramA
.
- Если
method
содержится внутри ['B']
, то потребуется свойство paramA
.
- Если
method
содержится внутри ['A', 'B']
, то потребуется свойство paramA
.
Я просматривал доступные на данный момент валидаторы и не нашел что-то, что соответствовало бы моим потребностям. Я пытался выяснить, как мне этого добиться, используя собственный валидатор, но я не смог найти никакого решения.