我正在尝试使用apostrophe-pieces-submit-widgets
构建一个简单的联系表单,并且需要对GDPR进行打勾。我设置了一个请求表单模块:
module.exports = {
extend: 'apostrophe-pieces',
name: 'request-form',
label: 'Request Form',
alias: 'requestForm',
addFields: [
...
{
name: 'gdpr',
label: 'Marketing agreement',
type: 'boolean',
required: true
}
],
//stuff like building title field and marking it as published when it's saved
...
}
然后我使用apostrophe-pieces-submit-widgets
显示它:
module.exports = {
extend: 'apostrophe-pieces-submit-widgets',
fields: ['name', 'email', 'phone', 'gdpr']
}
它在视觉上起作用,也就是说,它带有一个星号,you,您仍然可以发送表单而无需将其切换到Yes
。当您不填写其他必填字段时,就不会像其他字段一样在返回的错误对象中提及该字段。我需要做些什么来验证它?
答案 0 :(得分:1)
您现在可以通过为字段设置mandatory: true
选项来实现此目的。
答案 1 :(得分:0)
除非我有误解,否则撇号是验证一个布尔值(允许为No / false
),它不是您要允许的值。在这种情况下,boolean
字段实际上不会削减它。
我不认为您将如何利用现有的架构字段实现这一目标。
您可以通过遵循这套教程来创建自己的架构字段(可以根据需要验证它们)。 https://apostrophecms.org/docs/tutorials/intermediate/custom-schema-field-types.html
colorpicker示例有点复杂,通过Apostrophe源代码查找并以新名称复制布尔型字段类型可能会更容易,并强制该值是真实的以便进行验证。您所需的一切都在apostrophe-schemas
模块中。