Mongoose验证适用于字符串,但不适用于字符串数组

时间:2014-04-06 02:02:44

标签: mongoose

我试图验证我的架构中的字段,以检查传递的字符串是否具有有效的扩展名,以及是否来自列入白名单的主机 我使用mongoose-validator lib来创建规则。

问题是,当字段是String时,它会完美地验证:

photos:  {type: String, 
          validate: [validate('isValidExtension'), validate('isValidHostname')]},

但我真正想要的是一串字符串:

photos: [{type: String, 
          validate: [validate('isValidExtension'), validate('isValidHostname')]}],

而且,出于某种原因,它并没有以这种方式调用验证。

我有另一个例子,我使用类似的验证,但我没有使用字符串数组,而是使用了一个对象数组。

我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:3)

对我来说更有意义的是验证数组中的每个字符串,但这是它的工作方式:

photos: {type: [String], 
          validate: [validate('isValidExtension'), validate('isValidHostname')]},