如下所示,有一个数组参数传递给验证方法。 为了验证我正在使用SimpleSchema。
客户端
const url = "/articles/bmphCpyHZLhTc74Zp"
example.call({ item: url.split('/') })
服务器
example = new ValidatedMethod({
name : 'example',
validate: new SimpleSchema({
item: {
type: [String]
}
}).validator(),
run({ item }) {
console.log(item)
}
})
但我想更具体地验证一下。因此item数组必须有三个元素。
第一个是空的,第二个应该使用allowedValues
设置的值,第三个是ID SimpleSchema.RegEx.Id
答案 0 :(得分:0)
您可以实现使用这样的自定义架构。 通过正则表达式。
AddressSchema = new SimpleSchema({
street: {
type: String,
max: 100
},
city: {
type: String,
max: 50
},
state: {
type: String,
regEx: /^A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY]$/
},
zip: {
type: String,
regEx: /^[0-9]{5}$/
}
});
CustomerSchema = new SimpleSchema({
billingAddress: {
type: AddressSchema
},
shippingAddresses: {
type: [AddressSchema],
minCount: 1
}
});
你可以这样说。
example = new ValidatedMethod({
name : 'example',
validate: new SimpleSchema({
item: {
type: [CustomType],
regEx: // your regex
}
}).validator(),
run({ item }) {
console.log(item)
}
})