Every field should have an extra attribute, eform="" (don’t worry about validation, eForm handles this internally and when the form goes to the browser this attribute is gone). Not only will this establish whether or not a field is required, it will trigger eForm to maintain the values of the fields with the attribute if the form is re-displayed on error.
<input name="adres" size="40" type="text" eform="Adres::1" />
The first field in the attribute is the text that will be used when showing an error message. The second one (left empty here) is for the type of data; for example an email field would have email there, so eForm knows to validate it for a proper email address. Usually it can be left empty; eForm is pretty good at determining how the form field’s data should be handled. The third field is 1 for requred, 0 for not required. There are other fields that can follow these three; see the eForm documentation for how to use them. I’ve never used any beyond these three.
For multiple items, like a set of radio buttons, just put the eform attribute in the first one. For hidden input fields that have a variable value, use eform="::0::" to prevent eForm from thinking it’s a form hacking attempt.