0

我目前正在处理一个大的 html 表单。我使用 Php Quickform 来创建和验证它。该表单有几个组,由一个输入文本字段和一个选择字段组成。其中一组的代码

看起来像这样:

$autoren = array("0" => "", "1" => "Bob", "2" => "Harry", "3" => "Autor 3");
$arr[] = &HTML_QuickForm::createElement('text', 'autorT', 'AutorText', array('size' => 37, 'maxlength' => 50));
$arr[] = &HTML_QuickForm::createElement('select', 'autorO', 'AutorOptions', $autoren);
$form->addGroup($arr, 'Autoren', 'Autor:', '<br />');

我迫切需要某种 Rule/GroupRule 以以下方式验证该组:

  1. 如果两个字段都为空 -> 错误。
  2. 如果其中一个字段有值,则另一个必须为空,否则 -> 错误。
  3. 如果两个字段中都有值,则它们必须匹配,否则 -> 错误。

有人可以向我解释我如何做到这一点吗?我已经尝试编写自定义规则,但不知何故,代码从未调用过我的验证方法。

4

1 回答 1

0

如果您使用的是 HTML_QuickForm2,则将规则与_and()_or()想要的东西链接起来。使用 QF1,这是不可能的(除了在表单上使用回调规则)。

于 2011-09-23T10:02:10.673 回答