2010-12-21 65 views
0

我目前正在一個大的HTML表單工作。我使用Php Quickform來創建和驗證它。該表單有幾個由輸入文本字段和選擇字段組成的組。各組Php Quickform Grouprule爲Html選擇和Html輸入組需要

之一的代碼如下所示:

$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 />'); 

我在某種規則/ GroupRule的是證實了這一組以下列方式的迫切需要:

  1. 如果兩個字段均爲空 - >錯誤。
  2. 如果其中一個字段中有一個值,另一個字段必須爲空,否則 - >錯誤。
  3. 如果兩個字段中都有值,則它們必須匹配,否則 - >錯誤。

有人可以向我解釋我能做到嗎?我已經嘗試編寫自定義規則,但不知何故代碼從未調用過我的validate方法。

回答

0

如果您使用HTML_QuickForm2,則使用_and()_or()鏈接規則可以實現您想要的功能。使用QF1,這是不可能的(除了在表單上使用回調規則)。