You should validate all data before saving it to a table. You can either do this within your controller by validating the request or by using a custom Request and extracting the validating rules and messages into that class. This is especially useful if you have multiple places saving this data as it allows you to DRY up your code.
Middleware is for checking request data coming in, and would be used typically for permissions checking. You wouldn’t be using it for saving data.
In the case of your sign up form, you would still want to validate that your email address is of a correct format, and the that a users name doesn’t contact junk characters etc. Whether you do that using validation in your controller or using a custom Request will depend on how complex your validation is