SimpleSchema: как проверить определенный массив
Как вы можете видеть ниже, есть параметр массива, переданный проверенному методу. Для проверки я использую 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
и третье это удостоверение личности SimpleSchema.RegEx.Id
1 ответ
Решение
Вы можете реализовать, используя пользовательскую схему, как это. передайте также регулярное выражение.
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)
}
})