**Context:**  

I'm working on a software where the user can add specific external devices by using their IP and various other settings. These settings need to be entered correctly using a form and if something is entered incorrectly, the device will not work in our software.

For an example how this form looks like, see this mock-up:

[![Example Mock-up Config form](https://i.stack.imgur.com/Woy6e.png)](https://i.stack.imgur.com/Woy6e.png)

Now, the form never really had any feedback or validation and a very common question we get from users is: "*The device doesn't work and I don't know why!*". This results us going through a checklist with the user to check:

* Can the IP be pinged?
* Did you enter the correct credentials?
* Does the device support the selected protocol?
* Did you set the correct Channel?
* etc. etc.

To tackle this issue, I simply designed a "Device Diagnostics" button that will open a dialog and go through this checklist automatically.

Diagnostics Dialog:

[![Diag-dialog](https://i.stack.imgur.com/v5u9O.jpg)](https://i.stack.imgur.com/v5u9O.jpg)

Now here is where I get into conflict with one of the developers. He stated: "*We already know all this information before the user clicks the button, so why don't we just show it as field validation?*. 

[![Field validation with tooltip?](https://i.stack.imgur.com/p5le8.png)](https://i.stack.imgur.com/p5le8.png)

And I don't really have an answer to this.

Personally, I lean more towards the dialog, even if we have to [delay the results of the checklist](https://www.uxmas.com/2013/wait-for-it) a bit. I believe the dialog is a better user experience. It also teaches the user to think more for itself and learn to do the checklist himself before using the diagnostics button every time there's something wrong.

The form validation, although useful for quicker results, makes me think it clutters the interface a lot more.