可以针对数组中的元素进行验证吗?
Possible to validate against elements in an array?
我正在使用 validate 来验证输入,我需要验证一个必须是我的 arr
.
中的数字之一的输入
const arr = [1, 2, 4, 5, 9, 14];
const p = {
System: {
type: Number,
enum: arr,
required: true
}
};
如果我尝试 enum: arr
,那么它需要整个数组,而不仅仅是其中一个元素。
问题
是否可以让 validate
使用 arr
中的其中一个号码?
import Schema from 'validate'
const arr = [1, 2, 4, 5, 9, 14];
const p_schema = new Schema({
System: {
type: Number,
enum: [...arr],
required: true
}
});
let p = {
System: 9
}
const errors = p_schema.validate(p)
当您指定enum
规则时,System
的值必须是数组中的值之一。
但是,您的代码存在的问题是您没有从验证包中调用 Scheme
,因此您需要更改以下内容:
import Schema from "validate";
const arr = [1, 2, 4, 5, 9, 14];
const v = new Schema({
System: {
type: Number,
enum: arr,
required: true,
},
});
// For testing
const error = v.validate({ System: 3 });
我正在使用 validate 来验证输入,我需要验证一个必须是我的 arr
.
const arr = [1, 2, 4, 5, 9, 14];
const p = {
System: {
type: Number,
enum: arr,
required: true
}
};
如果我尝试 enum: arr
,那么它需要整个数组,而不仅仅是其中一个元素。
问题
是否可以让 validate
使用 arr
中的其中一个号码?
import Schema from 'validate'
const arr = [1, 2, 4, 5, 9, 14];
const p_schema = new Schema({
System: {
type: Number,
enum: [...arr],
required: true
}
});
let p = {
System: 9
}
const errors = p_schema.validate(p)
当您指定enum
规则时,System
的值必须是数组中的值之一。
但是,您的代码存在的问题是您没有从验证包中调用 Scheme
,因此您需要更改以下内容:
import Schema from "validate";
const arr = [1, 2, 4, 5, 9, 14];
const v = new Schema({
System: {
type: Number,
enum: arr,
required: true,
},
});
// For testing
const error = v.validate({ System: 3 });