0

私は現在、大きなhtmlフォームに取り組んでいます。Php Quickform を使用して作成および検証します。フォームには、Input-Textfield と Select-field で構成されるいくつかのグループがあります。グループの 1 つのコード

次のようになります。

$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. フィールドの 1 つに値が含まれている場合、他のフィールドは空である必要があります。そうでない場合 -> エラー。
  3. 両方のフィールドに値が含まれている場合、それらは一致する必要があります。そうでない場合 -> エラー。

誰かが私にそれを達成する方法を説明できますか? すでにカスタム ルールを作成しようとしましたが、どういうわけかコードが検証メソッドを呼び出しませんでした。

4

1 に答える 1

0

HTML_QuickForm2 を使用している場合は、ルールを連鎖させて、必要なもの_and()_or()可能にします。QF1 では、それは不可能です (フォームでコールバック ルールを使用する場合を除く)。

于 2011-09-23T10:02:10.673 に答える