Try the beta version of the new SilverStripe documentation

For the next 2 weeks you can use the new documentation website and give us your feedback.

close

Form Field Types

This is a highlevel overview of available FormField subclasses. An automatically generated list is available through our [API]

Basic

Actions

  • FormAction: Button element for forms, both for <input type="submit"> and <button>.
  • ResetFormAction: Action that clears all fields on a form.

Formatted Input

  • AjaxUniqueTextField: Text field that automatically checks that the value entered is unique for the given set of fields in a given set of tables.
  • ConfirmedPasswordField: Two masked input fields, checks for matching passwords.
  • CountryDropdownField: A simple extension to dropdown field, pre-configured to list countries.
  • CreditCardField: Allows input of credit card numbers via four separate form fields, including generic validation of its numeric values.
  • CurrencyField: Text field, validating its input as a currency. Limited to US-centric formats, including a hardcoded currency symbol and decimal separators. See MoneyField for a more flexible implementation.
  • DateField: Represents a date in a single input field, or separated into day, month, and year. Can optionally use a calendar popup.
  • DatetimeField: Combined date- and time field.
  • EmailField: Text input field with validation for correct email format according to RFC 2822.
  • GroupedDropdownField: Grouped dropdown, using tags.
  • HtmlEditorField.
  • MoneyField: A form field that can save into a Money database field.
  • NumericField: Text input field with validation for numeric values.
  • OptionsetField: Set of radio buttons designed to emulate a dropdown.
  • PhoneNumberField: Field for displaying phone numbers. It separates the number, the area code and optionally the country code and extension.
  • SelectionGroup: SelectionGroup represents a number of fields which are selectable by a radio button that appears at the beginning of each item.
  • TimeField: Input field with time-specific, localized validation.

Structure

  • CompositeField: Base class for all fields that contain other fields. Uses <div> in template, but doesn't necessarily have any visible styling.
  • FieldGroup attached in CMS-context.
  • FieldList: Basic container for sequential fields, or nested fields through CompositeField.
  • TabSet: Collection of fields which is rendered as separate tabs. Can be nested.
  • Tab: A single tab inside a TabSet.
  • ToggleCompositeField: Allows visibility of a group of fields to be toggled.
  • ToggleField: ReadonlyField with added toggle-capabilities - will preview the first sentence of the contained text-value, and show the full content by a javascript-switch.

Files

  • FileField: Simple file upload dialog.
  • UploadField: File uploads through HTML5 features, including upload progress, preview and relationship management.

Relations

  • CheckboxSetField: Displays a set of checkboxes as a logical group.
  • TableField: In-place editing of tabular data.
  • TreeDropdownField: Dropdown-like field that allows you to select an item from a hierarchical AJAX-expandable tree.
  • TreeMultiselectField: Represents many-many joins using a tree selector shown in a dropdown-like element
  • GridField: Displays a SS_List in a tabular format. Versatile base class which can be configured to allow editing, sorting, etc.
  • ListboxField: Multi-line listbox field, through <select multiple>.

Utility

  • DatalessField - Base class for fields which add some HTML to the form but don't submit any data or save it to the database
  • HeaderField: Renders a simple HTML header element.
  • HiddenField.
  • LabelField: Simple label tag. This can be used to add extra text in your forms.
  • LiteralField: Renders arbitrary HTML into a form.

Comments

Comment policy: Please use comments for tips and corrections about the described functionality.
Comments are moderated, we reserve the right to remove comments that are inappropriate or are no longer relevant. Use the Silverstripe Forum to ask questions.

blog comments powered by Disqus