PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Database » DB_DataObject_FormBuilder » Bug #5992

Support for defining field label as array

Details

Request #5992Support for defining field label as array
Submitted2005-11-17 07:12 UTC
Fromalex at cgi-central dot net
StatusOpen
PackageDB_DataObject_FormBuilder
PHP Version4.3.11
OSany
Roadmaps(Not assigned)

Comments

[2005-11-17 07:12 UTC] alex at cgi-central dot net

Description:
------------
HTML_QuickForm supports defining field labels as array. Have a look to pear/docs/HTML_QuickForm/docs/renderers/multiple-labels.php

Howevr, when you define field label as array in $fb_FieldLabels array, it is handled incorrectly ("Array" is passed instead of field title to addRule function). Below patch will fix this situation.

I hope this is self-explanatory

Test script:
---------------
diff -ur DataObject-orig/FormBuilder/QuickForm.php DataObject/FormBuilder/QuickForm.php
--- DataObject-orig/FormBuilder/QuickForm.php Thu Oct 20 13:01:36 2005
+++ DataObject/FormBuilder/QuickForm.php Mon Oct 24 10:21:33 2005
@@ -787,13 +787,13 @@
}
if ($rule['rule'] === false) {
$this->_form->$ruleFunction($realFieldName,
- sprintf($rule['message'], $fieldLabel),
+ sprintf($rule['message'], is_array($fieldLabel)? $fieldLabel[0] : $fieldLabel),
$rule['validator'],
'',
$ruleSide);
} else {
$this->_form->$ruleFunction($realFieldName,
- sprintf($rule['message'], $fieldLabel),
+ sprintf($rule['message'], is_array($fieldLabel)? $fieldLabel[0] : $fieldLabel),
$rule['validator'],
$rule['rule'],
$ruleSide);