That explains it !!! Now I just need to figure out how to go about defining that isValid() method.
Thank you very much for your help. Martin Carpentier On Wed, Nov 18, 2009 at 15:06, Matthew Weier O'Phinney <[email protected]>wrote: > -- Martin Carpentier <[email protected]> wrote > (on Monday, 16 November 2009, 02:44 PM +0100): > > Hi Matthew, > > > > thanks for the reply. > > > > I have this function setup in my view script > > > > > > dojo.addOnLoad(function () { > > dojo.connect(dijit.byId("formSomething"), "onSubmit", > "validateForm"); > > > > > > } > > ); > > function validateForm() { > > var form = dijit.byId("formSomething"); > > if (!form.validate()) { > > return false; > > } > > return true; > > > > } > > > > > > All the elements get validated on the submit except for the radio > buttons. > > > > Do I have to add javascript code specificaly for the validation of the > radio > > buttons ? > > I looked in the Dojo API docs for RadioButton. It inherits from > CheckBox, which inherits from ToggleButton, which inherits from Button. > None of these dijit types has validators. As such, when the form > validates, nothing is performed on the RadioButton. > > If you want some sort of validation, you'll need to extend the dijit and > add an isValid() method that defines the validation action to perform; > then use your new widget with the form. > > > On Mon, Nov 16, 2009 at 14:40, Matthew Weier O'Phinney <[email protected] > > > > wrote: > > > > -- Martin Carpentier <[email protected]> wrote > > (on Monday, 16 November 2009, 12:14 PM +0100): > > > I'm bumping this topic as I haven't found a solution yet and have a > hard > > time > > > believing I'm the only one having to use required radio buttons in > a > > form. > > > > Do you have an onSubmit event that's performing form validation? If > not, > > then nothing special will happen. > > > > > Anyone having a solution for this ? > > > > > > Thanks, > > > > > > Martin Carpentier > > > > > > > > > On Tue, Nov 10, 2009 at 16:18, Martin Carpentier < > > [email protected]> > > > wrote: > > > > > > Hi, > > > > > > I'm having a Zend_Dojo_Form with a RadioButton element defined > like > > this: > > > > > > $options = array( > > > 0 => 'no', > > > 1 => 'yes', > > > ); > > > > > > $this->addElement('RadioButton', 'elementName', array( > > > 'label' => 'some label', > > > 'multiOptions' => $options, > > > 'required' => true, > > > )); > > > > > > > > > My form displays correctly with the dojo enhancements but when > I > > submit the > > > form without selecting any of the radio button values, dojo > doesn't > > flag > > > the element as being invalid. > > > I'm expecting it to be flagged with an error like the other > required > > > elements that have been submitted without being filled. > > > > > > Here's my dojo declarations: > > > > > > dojo.require("dojo.i18n"); > > > > > > > > > dojo.require("dijit.TitlePane"); > > > dojo.require("dijit.form.CheckBox"); > > > dojo.require("dijit.form.FilteringSelect"); > > > dojo.require("dijit.form.DateTextBox"); > > > dojo.require("dijit.form.ValidationTextBox"); > > > > > > > > > dojo.require("dijit.form.Button"); > > > dojo.require("dijit.form.Form"); > > > dojo.require("dojo.parser"); > > > > > > > > > I also have this form validation function set: > > > > > > > > > dojo.addOnLoad(function () { > > > > > > dojo.connect(dijit.byId("formSomething"), "onSubmit", > > "validateForm"); > > > > > > } > > > ); > > > function validateForm() { > > > var form = dijit.byId("formSomething"); > > > if (!form.validate()) { > > > return false; > > > } > > > return true; > > > > > > } > > > > > > > > > > > > I noticed that the zendDijits js variable was set like this: > > > > > > > > > var zendDijits = [{"id":"elementName","params": > > {"required":"true","dojoType":"dijit.form.RadioButton"}}, > > > {"id":"elementName-0","params":{"dojoType":"dijit.form.RadioButton"}}, > > > {"id":"elementName-1","params":{"dojoType":"dijit.form.RadioButton"}}, ... > > ]; > > > > > > > > > > > > > > > The required flag is only set on the "main" elementName element > but > > doesn't > > > seem to be taken into account for the validation. > > > > > > So my question is, how can I make the RadioButton element being > > flagged as > > > required when none of it's values has been selected? > > > > > > Martin Carpentier > > > > > > > > > > -- > > Matthew Weier O'Phinney > > Project Lead | [email protected] > > Zend Framework | http://framework.zend.com/ > > > > > > -- > Matthew Weier O'Phinney > Project Lead | [email protected] > Zend Framework | http://framework.zend.com/ >
