This will greatly depend on how you define validation. Consider this: you are buying something, and you enter your credit card number. If the check digit does not match, you have not passed the test. No transaction was attempted. If, however, this is a valid credit card number, but it does not match your postal code (requires interaction with the database / third party), then this is a payment error.
Now consider this: you enter your address, and you enter Mastiffica as your country. Why the system even allows you to enter this - they had to restrict the interface to only valid entries (no blog entry needed).
Or you enter βfiftyβ in the quantity field of your bank payment screen. Why it allows you to write letters - this does not allow you to perform a check (there is no need for a database). But then you enter 50 in the quantity field, and it turns out you do not have fifty pounds in your account. Is this a validation error? Or is this a failed transaction?
Now, consider that you went through all the basic input checks (credit card checksum, country, numbers, zip code), and the transaction failed because your credit card has expired. Is this validation error or failed transaction?
You can think of verification as the main guarantee that users will not enter completely wild data, or you can think of verification as "I can complete this transaction with the data that was provided to me." I would personally approve the first, but again, this is a matter of definition.
Then there is the aspect of checking the first line as a security measure - wild data that was taken behind the upper level of the user interface can pose a security risk (for example, SQL injection).
George
source share