SimpleSchema:如何验证特定数组
SimpleSchema: How to validate an specific array
正如您在下面看到的,有一个数组参数传递给了经过验证的方法。
为了进行验证,我使用的是 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)
}
})
但我想验证得更具体一些。所以项目数组必须有三个元素。
第一个是空的,第二个应该使用 allowedValues
设置的值,第三个是 ID SimpleSchema.RegEx.Id
您可以使用这样的自定义架构来实现。
也通过正则表达式。
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)
}
})
正如您在下面看到的,有一个数组参数传递给了经过验证的方法。 为了进行验证,我使用的是 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)
}
})
但我想验证得更具体一些。所以项目数组必须有三个元素。
第一个是空的,第二个应该使用 allowedValues
设置的值,第三个是 ID SimpleSchema.RegEx.Id
您可以使用这样的自定义架构来实现。 也通过正则表达式。
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)
}
})