デフォルトのエラーと同様に、すべてのエラーを返すようにこのジョイの検証を行うことはできません。だからここjoi:カスタムエラーは返されず、abortEarlyはfalseに設定されます
私はフィールドごとに個別のカスタムエラーを設定しています。そして、
const schema = Joi.object().keys({
a: Joi.string().error(new Error('must be string')),
b: Joi.number().error(new Error('must be number'))
});
をabortEarlyをfalseに設定して検証するときに、それだけで、それが遭遇する最初のエラーを返します。エラーが返さ
Joi.validate({a: 1, b: false}, schema, {abortEarly: false})
は、この、
{ error: [Error: must be string], value: { a: 1, b: false }}
それはいくつかの方法で、すべてのエラーを返すべきであるようなものです。
私はabortEarlyを間違って使用していますか、またはすべてのカスタムエラーを返すためにプロセスを実行する必要がありますか?すべての応答に事前に感謝します。