Refcat

Design forms for correction, not just completion

Refcat team10/27/2026

A form can look simple when every answer is valid. Its quality becomes clearer when someone mistypes an address, loses a connection, or submits information the server cannot accept. These moments are part of the normal journey, so they belong in the design file alongside the successful submission.

Take a shipping form. The customer has entered a name, an apartment number, and a delivery note. A postal-code lookup fails. If the interface clears the form or insists on a suggested address without explaining the difference, the customer has to protect their work from the product. A better design helps them correct the specific problem while keeping the rest intact.

Decide what can be checked, and when

Make a list of validation rules and who owns each one. An empty required field can be identified locally. Whether an account already exists usually requires the server. Delivery availability may depend on several fields together. This distinction determines when a message can be truthful.

Avoid presenting an unfinished field as an error while someone is still entering it. Where early feedback helps, choose a deliberate trigger such as leaving the field or submitting the step. If a check is asynchronous, distinguish checking from valid and invalid. A spinner that later turns into a red border needs an accompanying explanation.

Write instructions people can act on

“Invalid value” describes a judgment without describing a correction. “Enter the postal code using five digits” gives a concrete next step, assuming that rule matches the selected country. Examples should reflect accepted input, and formatting should not erase meaningful characters.

The W3C form notification guidance describes ways to identify errors and make feedback available to assistive technology. Use that guidance when reviewing field associations and error summaries. Your product still needs to supply the specific explanation: what failed, how to correct it, and whether the original input was retained.

Preserve work through failed submissions

Separate validation failure from delivery failure. If the request times out, the product may not know whether the server received it. For an action such as placing an order, the retry behavior needs coordination with the implementation so another click does not accidentally create another order.

For an ordinary profile update, keep the entered values visible and offer a retry. For an expired session, explain the sign-in requirement and decide which draft values can safely remain. Do not promise that information has been saved until the product has evidence that it has.

Review the whole correction loop

When collecting references in Refcat, look beyond a red field. Follow the submission, the error summary, the corrected input, and the final confirmation. Check whether the person returns to the correct place and whether the confirmation names the completed action.

Before handing off the form, walk through four cases: a missing value, a server rejection, a network failure, and a successful retry. Include realistic long names, different address formats, and keyboard navigation. The deliverable should explain how to recover from each case, not simply show a set of decorative error variants.

Stop designing from a blank canvas. Brief your agent.