The "nature" element is not filled in by the user.
And the setDefault() is called after the element has been added to the form (as this element is
added in the init() method of the form class).
Le 11/08/10 00:30, Hector Virgen a écrit :
When you view the form on the page, is the "nature" element's value filled in?
Are you calling
setDefault() before or after adding the element to the form?
--
Hector Virgen
Sent on my Droid X
On Aug 10, 2010 3:17 PM, "Guillaume ORIOL" <go.li...@technema.fr
<mailto:go.li...@technema.fr>> wrote:
Hi,
I simply don't understand why I can set a default value on a form element if
this default value is
not taken into account when validating the form???
Here is my controller code:
$form = new My_Form(); // The form defines a element named 'nature' that is
REQUIRED
$form->setDefault('nature', 'consignment');
...
// Content of the $_POST:
// array(
// 'foo' => 1,
// 'bar' => 2
// )
// NO 'nature' value is posted by the HTML form
if ($request->isPost()) {
if ($form->isValid($_POST)) {
// never reached as isValid() fails on 'nature'
}
}
Any explanation?
--
Guillaume ORIOL
Software engineer
Technema