I have a multi-step registration process, backed by a single object in domain layer, which have validation rules defined on properties.
One option is to create set of identical tables that will store the data collected in each step. Then in the last step if all goes well you can create the real entity by copying the temporary data and store it.
Other is to create Value Objects
for each step and store then in Cache
or Session
. Then if all goes well you can create your Domain object from them and save it