0

我定义了一个自定义验证器,当表单字段填充了一个值时,它会按预期工作。但是,当表单字段留空时,不会调用自定义验证器并且不会验证该字段。

当我另外激活“强制”选项时,我可以防止表单以空值发送,但在我的情况下这是不可能的,因为该字段不能是强制性的。

更确切地说:

复选框时事通讯:如果未选中,则不需要“电子邮件”字段,因此不是强制性的。选中时,需要“电子邮件”字段,因此应该是强制性的,并由我的自定义验证器进行验证,该验证器检查地址是否已经在数据库中。

我的问题:

  • 是否有可能根据复选框制作“强制”验证器
  • 或者当字段为空时是否有可能强制自定义验证器?
4

1 回答 1

0

你可以试试 powermail_cond。此扩展使您能够根据其他表单字段的状态显示或隐藏字段。因此,您将创建没有验证和强制标志的第二个字段“电子邮件”。然后通过 powermail_cond 创建以下规则

  1. 未选中复选框时显示字段“电子邮件可选”
  2. 未选中复选框时隐藏字段“email-mandatory-with-validation”
  3. 选中复选框时隐藏字段“电子邮件可选”
  4. 选中复选框时显示字段“email-mandatory-with-validation”

这应该适用于 powermail_cond 7.4。

于 2020-10-23T07:57:47.103 回答