I have not finished debugging this issue...
I saw no issues in JIRA...
Below is my generated form. As you can see, the fieldset is incorrect. there
should not be an action or a method parameter. In the bottom of this post is
an INI file. If the last three lines are commented out as:
;form.decorators.elements.decorator = "FormElements"
;form.decorators.fieldset.decorator = "FieldSet"
;form.decorators.form.decorator = "Form"
Then this broken fieldset tag does not appear.
<fieldset id="" action="/index/index/login/" method="post"><legend>My
Legend!</legend>
<!-- Start Form -->
<form enctype="application/x-www-form-urlencoded"
action="/index/index/login/" method="post"><fieldset id=""
action="/index/index/login/" method="post"><legend>My Legend!</legend>
<fieldset id="login">
<dt><label for="username" class="required">Username</label></dt>
<dd>
<input type="text" name="username" id="username" value="" /></dd>
<dt><label for="password" class="required">Password</label></dt>
<dd>
<input type="password" name="password" id="password" value=""
/></dd></fieldset>
<dt></dt>
<dd>
<input type="hidden" name="fid" value="4e77f48df2e9710c6426b69ea882b143"
id="fid" /></dd>
<dt></dt><dd>
<input type="submit" name="Login" id="Login" value="Login" /></dd>
<dt></dt><dd>
<input type="submit" name="Cancel" id="Cancel" value="Cancel"
/></dd></fieldset></form>
<!-- End Form -->
Code:
<?php
public function getForm()
{
$file = BASE_MODULES . DS . $this->view->m . DS . 'views/forms'
. DS .
$this->view->c . DS . $this->view->a . '.ini';
if(!is_file($file)) {
throw new Exception('Not a file: ' . $file . PN .
__CLASS__ . PN .
__FUNCTION__);
}
$this->view->form = new Zend_Form();
$this->view->form->setAction(DS . $this->view->m . DS .
$this->view->c .
DS . $this->view->a . DS);
$this->view->form->setMethod('post');
$config = new Zend_Config_Ini($file, VIEW);
$this->view->form->setConfig($config->form);
$this->view->form->addElement('hash', 'fid', array('salt' =>
'FID_SALT'));
$this->view->form->addElement(new
Zend_Form_Element_Submit('Login'));
$this->view->form->addElement(new
Zend_Form_Element_Submit('Cancel'));
}
?>
# INI file
[A]
; username element
form.legend = "My Legend!"
form.elements.username.type = "text"
form.elements.username.options.label = "Username"
form.elements.username.options.validators.alnum.validator = "alnum"
form.elements.username.options.validators.regex.validator = "regex"
form.elements.username.options.validators.regex.options.pattern =
"/^[a-z]/i"
form.elements.username.options.validators.strlen.validator = "StringLength"
form.elements.username.options.validators.strlen.options.min = "6"
form.elements.username.options.validators.strlen.options.max = "20"
form.elements.username.options.required = true
form.elements.username.options.filters.lower.filter = "StringToLower"
; password element
form.elements.password.type = "password"
form.elements.password.options.label = "Password"
form.elements.password.options.validators.strlen.validator = "StringLength"
form.elements.password.options.validators.strlen.options.min = "6"
form.elements.password.options.required = true
; submit element
;form.elements.submit.type = "submit"
form.displayGroups.login.elements.username = "username"
form.displayGroups.login.elements.password = "password"
form.displayGroupDecorators.elements.decorator = "FormElements"
form.displayGroupDecorators.fieldset.decorator = "Fieldset"
form.decorators.elements.decorator = "FormElements"
form.decorators.fieldset.decorator = "FieldSet"
form.decorators.form.decorator = "Form"
--
View this message in context:
http://www.nabble.com/Zend_Form-bug-with-fieldset-tag-tp15769017s16154p15769017.html
Sent from the Zend Framework mailing list archive at Nabble.com.