0

In our app we have few views that use backend validation, that sometimes might take more that a second to response. What is more unique about it, is that validation is sent for whole section. For example, providing value for Name, will trigger a backend validation for second field Code as well.

enter image description here

Currently there are no indicators that the validation is happening in the background. Only error will be displayed in case of invalid data.

So if the user provide value for Code field, before previous validation request is done, then its new value is not checked. It may result in incorrect errors, or lack of validating new value.

Since we cannot modify the way validation works (checking more than one field at the time), at least for now, we are trying to find a good way to show user, that something is going under the hood. We were thinking about adding the same loader that we use in other parts of app, when page is still loading, but it seems bizarre and not very UX friendly, that user would be seeing it, every time when he provides data:

enter image description here

On the other hand, user should not be able to provide data in that short timeframe, to ensure, that the data will be properly checked. What would be a good approach?

1

So if the user provide value for Code field, before previous validation request is done, then its new value is not checked.

I think this is where your problem lies. It seems that on the front-end, you should just keep track of whether the values in the fields have been checked or not. Changing the "Code" field should trigger another validation request, regardless if there's a validation call that is still outstanding.

Currently there are no indicators that the validation is happening in the background.

I'm almost always a fan of transparency. The application, as far as it is useful and practical, should do its best to let the user know what it is doing. This allows the user to retain their sense of control and reassures them that the system is doing what is desired.

Being transparent about the status of validation requests in this case could be handled with a small indicator that shows the status and result of the calls being made. Adding a UI element that visually groups this section will help the user to recognize that modifying any field in this section will trigger revalidation.

Form fields with status text below. One reads "Checking...", another reads "Verified", and the last reads "Code is not valid."

You may feel that it looks "inconsistent" with the rest of the fields that don't do live server-side validation. I'd suggest that it's perfectly okay for it to look a different way because it behaves in a different way than just validating values at submission time.

| improve this answer | |
  • I love your answer and I completely agree that another request should be sent, regardless if the last one finished, but unfortunately as I wrote in the question, at the moment, we cannot change the way it works (we are using some bigger, company's framework). In this in mind, I was trying to find a good way, to still inform user what is going on and stop him from providing data in another field to limit the errors I have mentioned in question. Those indicators are a nice way to show, that the request is being procced! Something that I will try to add to the app. – Jonah Oct 27 at 7:22
  • @Jonah Oh, I hadn't realized you meant that you also had very limited control of the front-end as well. Yeah, that's pretty restrictive then. I assume you're not able to break out the validation to be a manually-triggered action either? For example, user completes form, clicks a "Verify data" button, form is disabled while validation loads, then proceeds when server reports all is good? – maxathousand Oct 27 at 12:34
  • It turns out, that we did not find a proper way to display it, as you said it was pretty restrictive. What we done in the end is split the form (when it comes to the code, the UI did not change), so validation is triggered only for one field at a time ;) – Jonah Nov 3 at 13:32
  • @Jonah Glad you were able to address it in a bit more natural way! Thanks for the update. – maxathousand Nov 3 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.