• Getting Started
  • Lessons
  • Developer Guides
    • Model and Databases
    • Templates and Views
    • Controllers
    • Forms
      • Introduction to Forms
      • Form Validation
      • Form Templates
      • Form Security
      • Form Transformations
      • Tabbed Forms
      • Field Types
      • How To's
        • How to Encapsulate Forms
        • How to Create Lightweight Form
        • Create a GridField Component
        • Create a GridField action provider
        • Simple contact form
        • How to handle nested data in forms
    • Configuration
    • Extending Silverstripe CMS
    • Testing
    • Debugging
    • Performance
    • Security
    • Email
    • Integration and Web Services
    • Search
    • i18n
    • Files
    • Customising the Admin Interface
    • Execution pipeline
    • Command Line Interface
    • Cookies and Sessions
    • Graphql
  • Upgrading
  • Changelogs
  • Contributing
  • Project Governance
  1. Developer Guides
  2. Forms
  3. How To's
Version 4End of Life

This version of Silverstripe CMS will not receive any additional bug fixes or documentation updates.

Go to documentation for the most recent stable version

How to's: forms#

How to Encapsulate Forms

Learn how to move a form from a controller into its own class definition.

How to Create Lightweight Form

Create a simple search form with Silverstripe CMS

Create a GridField Component

Customise your GridField with a variety of add-ons.

Create a GridField action provider

Handle custom actions on your GridField

Simple contact form

Create a form that submits a message via email

How to handle nested data in forms

Forms can save into arrays, including has_one relations

Edit on GitHub