gpt4 book ai didi

javascript - Meteor - simpl-schema 类型 bool 值,接受 "Yes"为真, "No"为假

转载 作者:行者123 更新时间:2023-11-29 23:28:29 29 4
gpt4 key购买 nike

我在一个外部文件中创建了一个架构,其中包含所有必填字段和可选字段,在我的 client.js 中,我有一个包含用户输入的 XLSX 字段的数组。我的目标是根据我的模式验证我的数组,如果缺少任何强制字段或任何字段的输入类型错误,则输出错误。这是我的代码,用于在错误时更改输入值,在这种情况下,如果输入是字符串“Yes”,则将其评估为 true,否则为 false:

myField: {
type: (Boolean),
optional: true,
custom: function() {
let value = this.value;
if (value === "Yes") {
return value = true;
}
else { return value = false }
}
},

我已经搜索了关于如何做到这一点的 simpl-schema 文档,但我无法设法让它与提供的示例一起工作,我坚持这一点。

提前致谢。

最佳答案

您必须使用 autoValue 而不是 custom

custom 用于字段验证,而不是用于更改值。

const SimpleSchema = require( 'simpl-schema').default;

const schema = new SimpleSchema(
{
myBool:{
type: Boolean,
optional: true,
autoValue(){
if(this.value == "Yes"){
return true
} else if(this.value == "No") {
return false
}
}
}
}
)
const validationContext = schema.newContext()

//clean is called in Collection2 before validating
const res = schema.clean({
myBool: "Yes"
})
console.log("cleaned Object",res)

validationContext.validate(res)
console.log(validationContext.validationErrors())

就我个人而言,我不会在模式中进行是/真、否/假转换。

关于javascript - Meteor - simpl-schema 类型 bool 值,接受 "Yes"为真, "No"为假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48184629/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com