I am validating my inputs using validations that comes with laravel framework, and I usually do something like this:
'username'=>'required|unique:users'
My question is "Is it worth it?" giving that these validation will be handled anyway by the database when actually updating the record. Are not we -by doing this- replicate the work and hits the database several times which is not the most efficient way.
IMO, it worth.
When you use this kind of validation, you automatically get an error feedback for that field and knows that the email is already in use.
If you don't it, of course, the database throw an unique error that you will need to handle, create an error bag manually and output it.
If you are inserting just one record, the overhead of querying database is minimal, because you already have an index on that column, it should be very fast even for large datasets.
Eventually you may need to update a lot of rows with this validation, and Laravel don't optimize, doing lots of queries. In this case, and only in this case, it may not worth.