| Understand Form API basics |
Overview |
| Choose the right base class |
Architecture: Core Classes |
| Understand form lifecycle and caching |
Architecture: Lifecycle |
| Build a standard form with business logic |
Pattern: FormBase |
| Build an admin settings form |
Pattern: ConfigFormBase |
| Build a delete/confirm dialog |
Pattern: ConfirmFormBase |
| Choose the right form elements |
Elements: Overview |
| Use text, number, date inputs |
Elements: Input |
| Use select, radio, checkbox, file uploads |
Elements: Selection |
| Group elements and add buttons |
Elements: Grouping |
| Understand element callbacks |
Elements: Lifecycle |
| Validate form input |
Validation Architecture |
| Validate only specific fields (multi-step) |
Validation: Partial |
| Handle form submission and redirects |
Submission Architecture |
| Add AJAX to forms |
AJAX Architecture |
| Secure AJAX and use advanced patterns |
AJAX: Security |
| Use FormState methods |
Form State Methods |
| Build multi-step forms |
Multi-Step Forms |
| Alter existing forms |
Form Alter System |
| Use #states for conditional fields |
Form States System |
| Submit forms programmatically |
Programmatic Submission |
| Optimize form performance |
Performance Optimization |
| Follow development standards |
Development Standards |
| Secure forms against attacks |
Security Best Practices |
| Make quick decisions |
Decision Trees |
| Find documentation and examples |
API References |