本文介绍了使用joi对照另一个数组的长度验证一个数组的长度的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以使用joi验证两个数组的长度是否相同?
Is there a way to validate that two arrays need to have the same length using joi?
这是一个例子:
Joi.object().keys({
firstNames: Joi.array().items(Joi.string()).single(),
lastNames: Joi.array().items(Joi.string()).single(),
});
如果这行得通,它还应该匹配两个数组的长度,因此没有 firstName
缺少 lastName
.
If that was to work, it should also match both array's length so no firstName
lacks a lastName
.
感谢您的帮助!
推荐答案
当然有,请查看 .assert()
.您可以使用它来比较对象中两个属性的值或属性.
There certainly is, take a look at .assert()
. You can use it to compare the values or attributes of two properties in your object.
对于您的示例,您可以执行以下操作:
For your example you can do this:
Joi.object().keys({
firstNames: Joi.array().items(Joi.string()).single(),
lastNames: Joi.array().items(Joi.string()).single(),
}).assert('firstNames.length', Joi.ref('lastNames.length'));
您还可以选择提供更有用的错误消息,作为 .assert()
的第三个参数.
You can also optionally provide a more helpful error message as the third parameter of .assert()
.
这篇关于使用joi对照另一个数组的长度验证一个数组的长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!