A form with three fields almost validates itself. The Kladde's customer file has a contact, up to three addresses and up to ten contact persons, and it must be saved without an empty street in the second address going unnoticed. This lesson is about what is different with a form like that: where the rules live, who applies them in which order, what works in static SSR and what only works interactively, and what a check looks like that has to ask the server.
Where the Kladde stands
The lesson assumes K2: ContactForm with EditForm, FormName and [SupplyParameterFromForm] from 0605, the rule "edge or model" from 0408 and the error output for screen readers from 0613. New is the model CustomerRecord (the customer file) with the Contact, a list Addresses (1 to 3 entries) and a list ContactPersons (0 to 10). It lives in src/Kladde.Web/Customers/CustomerRecord.cs, and from here on it is one of the fixed facts of the case study. Keep your own names and carry the steps over. Questions of state across lost connections are covered by W8.1.2.