Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

Form Questions /

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba


Go to End

5 Posts   2377 Views


Community Member, 165 Posts

21 January 2010 at 2:43pm

Basic question, how do I set a legend on a fieldset?

To be more specific I am using a multiform form if it makes any difference.



Community Member, 545 Posts

24 January 2010 at 9:54am

This is from the 2.3 Changelog, but I can't find any refrence to it the API

A <legend> element has been added before any <fieldset> in all SilverStripe forms. and are where it has been added. This now validates the form HTML for W3C compliance. Please verify that your forms visually look okay after upgrading. Legend can be set by calling →setLegend(’my legend here’) on your Form object.

But if you're using multform you can also specify a custom form template and then just code it in yourself.


Community Member, 6 Posts

10 October 2010 at 9:41pm

Were you able to add <legend> tag to User Forms Module? I am trying to do it in User Forms Module [v0.3.0] without any luck. Please Let me know. Thanks


Community Member, 545 Posts

13 October 2010 at 2:13am

I use custom templates for most of my forms so I set the legend in the .ss file]



Community Member, 50 Posts

17 August 2011 at 2:22am

Better late than never, this is my example form so show how to set the legend.


class EnquiryForm extends Form {
   function __construct($controller, $name) {
      $fields = new FieldSet(
         new TextField('name', 'Name', 'Name:'),
         new EmailField('email', 'Email', 'Email:'),
         new PhoneNumberField('tel', 'Tel', 'Tel:'),
         new TextField('brand', 'Brand', 'Brand:'),
         new TextareaField('desc', 'Description', 5, 10, 'Description:'),
         new SimpleImageField('image', 'Add image', 'Add image:')
      $actions = new FieldSet(
         new FormAction('submit', 'Submit')
      $validator = new RequiredFields('Name', 'Email', 'Comments');
      $legend = parent::setLegend("Parts enquiry...");
      parent::__construct($controller, $name, $fields, $actions, $validator);
   function forTemplate() {
      return $this->renderWith(array(
   function submit($data, $form) {
      // do stuff here