• 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
      • Using GridField with Arbitrary Data
      • Field Types
      • How To's
        • How to Encapsulate Forms
        • How to Create Lightweight Form
        • Create a GridField Component
        • How to add a custom action to a GridField row
        • 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
    • Deprecating code
  • Optional features
  • Upgrading
  • Changelogs
  • Contributing
  • Project Governance
  1. Developer Guides
  2. Forms
  3. How To's
Version 5Supported

This version of Silverstripe CMS is still supported though will not receive any additional features.

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.

How to add a custom action to a GridField row

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