我正在使用validate來驗證輸入,并且我需要驗證一個輸入,該輸入必須是我的arr.
const arr = [1, 2, 4, 5, 9, 14];
const p = {
System: {
type: Number,
enum: arr,
required: true
}
};
如果我嘗試enum: arr,那么它會占用整個陣列而不僅僅是元素之一。
題
是否可以validate使用其中的一個數字arr?
uj5u.com熱心網友回復:
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)
uj5u.com熱心網友回復:
指定enum規則時, 的值System必須是陣列中的值之一。但是,您的代碼的問題是您沒有Scheme從 validate 包中呼叫,因此您需要更改以下內容:
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 });
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430784.html
標籤:javascript 节点.js 验证 ecmascript-6
