Input forms (or just forms) are present in every web app. Started by a login UI, leading to steppers that span multiple pages, from simple to highly complex and dynamic, forms can be found in all kinds of web apps. So how can you create a complex form yourself, and what do you have to consider? What do you do if simple input fields are no longer sufficient? How do you handle cross-field validation or a form consisting of several dependent groups? In this session, Max Schulte shows how Angular makes it possible to create complex and dynamic forms. See what levels of abstraction Angular’s form controls system provides and how the router and dependency injection (DI) can be used to compose and ease complex forms.