Saving erroneous data = hang

OK, another one from the Alpha-testing:
the last field in the form is a URL. User types in an erroneous URL (like without the http://), but because it is the last field on the form, he clicks Save. Now the field gets a red border, but prob. too late. This results in a choke-up, you have to kill the tab.
In a more roundabout way: this could happen on any field. Question: how do I check form field validation=OK before I allow to Save?

Hi, can you provide a link to the site? Also, which browser are you using?
I tried to reproduce the case but the tab doesn’t hang.
Side note, the dataset checks the validation for you, it won’t save if the validation is not OK.

Tomer, I am using Opera 49.0 (works perfectly when rendering engine was changed from Gecko to Chromium, a long time ago). I can give you a link, but that part is protected. I will have to give you access to a Google+ account, but for obvious reasons I cannot publish details here. How do we solve it?

I am trying to combine the problem in my former question (saving unchanged data which does not take down my spinner) and this one, triggered by your last sentence: " Side note, the dataset checks the validation for you, it won’t save if the validation is not OK. ". Maybe it is the same problem. The choke-up visually retuns the same result: the spinner keeps spinning and the “Data saved” lightbox does not appear. Could this be it?

Yes, that could be the problem, the save will fail in case there is a validation error.

OK, we came to the same conclusion of the result: data are not saved. In problem 1 (nothing to save because nothing has changed), you gave me a solution which I have to check. Thanks for that. But this problem (no Save is done because there is an input error), how do I check on that? Is there a form wide error object I can iterate thru or check for Null before save? In short, result is the same, but cause is different. Any thoughts?

We report validation errors to the onError callback, so you can use that.
BTW, I just noticed that we are not reporting correctly the operation name like I stated in your second post, we will fix it. In the meantime, you can just listen to any error and remove the spinner.