powermail:没有强制选项的自定义验证器



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

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

更准确地说:

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

我的问题:

  • 是否存在使";强制性的";验证器取决于复选框
  • 或者当字段为空时,是否有可能强制使用自定义验证器

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

  1. 显示字段"电子邮件可选";未选中复选框时
  2. 隐藏字段"带有验证的强制性电子邮件";未选中复选框时
  3. 隐藏字段"电子邮件可选";选中复选框时
  4. 显示字段"带有验证的强制性电子邮件";选中复选框时

这应该适用于powermail_cond 7.4。

最新更新