When I run the below PoC, I get
ValidationError: Alert.one is not allowed.
ValidationError: Alert.two is not allowed.
ValidationError: Alert must be of type Array.
where I would like all the strings in Alert to be optional.
Can someone figure out how to do that?
const Schema = require('validate');
const p_schema = new Schema({
Alert: {
each: { type: String },
required: false
},
},{strict: true});
let p = {
Alert: {
one: 'x',
two: 'x'
}
};
console.log(p_schema.validate(p));
It seems it's the type of Alert is wrong, even though I believe you are setting each value of Alert to string, but Alert type is not specified. Try either adding type: object, or define Alert as a list not object.
Try the below:
const p_schema = new Schema({
Alert: {
type: object,
each: { type: String },
required: false
},
},{strict: true});