我试图验证我的架构中的字段,以检查传递的字符串是否具有有效的扩展名,以及是否来自列入白名单的主机 我使用mongoose-validator lib来创建规则。
问题是,当字段是String时,它会完美地验证:
photos: {type: String,
validate: [validate('isValidExtension'), validate('isValidHostname')]},
但我真正想要的是一串字符串:
photos: [{type: String,
validate: [validate('isValidExtension'), validate('isValidHostname')]}],
而且,出于某种原因,它并没有以这种方式调用验证。
我有另一个例子,我使用类似的验证,但我没有使用字符串数组,而是使用了一个对象数组。
我在这里遗漏了什么吗?
答案 0 :(得分:3)
对我来说更有意义的是验证数组中的每个字符串,但这是它的工作方式:
photos: {type: [String],
validate: [validate('isValidExtension'), validate('isValidHostname')]},