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.

Form Questions /

Legend


Reply


5 Posts   1646 Views

Avatar
Harley

Community Member, 153 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.

Thanks

Avatar
zenmonkey

Community Member, 528 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. SearchForm.ss and Form.ss 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.

http://doc.silverstripe.org/doku.php?id=upgrading:2.3.0&s=fieldset%20legend#notable_feature_changes.

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

Avatar
edi2lopez

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

Avatar
zenmonkey

Community Member, 528 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]

Cheers,

Avatar
web2works

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.

<?php

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(
$this->class,
'Form'
));
}

function submit($data, $form) {
// do stuff here
}

}

?>