【问题标题】:powermail: custom validator without option mandatorypowermail:没有强制选项的自定义验证器
【发布时间】:2020-08-13 12:42:36
【问题描述】:
我定义了一个自定义验证器,当表单字段填充了一个值时,它会按预期工作。但是当表单字段为空时,不会调用自定义验证器并且不会验证该字段。
当我另外激活“强制”选项时,我可以防止表单以空值发送,但在我的情况下这是不可能的,因为该字段不能是强制性的。
更准确地说:
复选框时事通讯:如果未选中,则不需要“电子邮件”字段,因此不是强制性的。选中时,“电子邮件”字段是必需的,因此应该是强制性的,并由我的自定义验证器进行验证,该验证器检查地址是否已经在数据库中。
我的问题:
- 是否有可能根据复选框制作“强制”验证器
- 或者当字段为空时是否有可能强制自定义验证器
?
【问题讨论】:
标签:
typo3
typo3-9.x
powermail
【解决方案1】:
你可以试试 powermail_cond。此扩展使您能够根据其他表单字段的状态显示或隐藏字段。
因此,您将创建第二个字段“电子邮件”而无需验证和强制标志。然后通过 powermail_cond 创建以下规则
- 未选中复选框时显示“电子邮件可选”字段
- 未选中复选框时隐藏字段“email-mandatory-with-validation”
- 选中复选框时隐藏“电子邮件可选”字段
- 选中复选框时显示字段“email-mandatory-with-validation”
这应该适用于 powermail_cond 7.4。