Thanks for the thoughtful response!
On Thu, Dec 10, 2015 at 10:43 AM Arthur Evans <[email protected]> wrote: > Yeah, I explored this a while back. It's confusing, because there are > essentially three levels of enforcement: > > 1) Real-time input enforcement. Some inputs support a regex pattern, that > controls what the user can actually type in the field. > 2) Field & form validation (provided by iron-validator, for example). By > default, this is invoked _when the user presses submit_. > 3) The kind of validation you're talking about, using an async web request. > > In the case of validating using a webservice, you don't want to start when > the user presses the submit button. You probably want to fire off a request > when the input field loses focus. (Another, slightly more aggressive option > is to fire off the request when the user stops typing for a certain period > of type, like 500ms. However, I was unable to get this to work smoothly > when I tried it.) > > It can be nice for the user if you do async form validation, so that you > can enable/disable the submit button based on whether the form is valid, > instead of waiting until they click the button and then pointing out the > issue. > > The devil is in the details, but I think one working pattern is to do > something like this: > > > - Whenever the user blurs a text area, or changes the state of a > checkbox or option, etc., perform a validation check: > - If the field that changed requires remote validation, fire off a web > request and continue this process when the response comes back. > > This is the part I need help with. I can listen to change events on the input and fire off the ajax call (throttled). However, when the webrequest comes back and it is invalid, how do I mark the paper-input as such? > > - Check the validity on all of the fields, and enable/disable the > submit button accordingly. > > Ideally, you'd do some kind of periodic checks as well when the user isn't > typing. Otherwise, the user can finish entering data in the last input > field, and sit there waiting for the submit button to be enabled, which > won't happen until they click elsewhere on the screen. But as I said, I > didn't get that working when I was playing with this. > > Hope that helps. > > Cheers, > Arthur > > > > On Thu, Dec 10, 2015 at 8:23 AM, <[email protected]> wrote: > >> I'm having a tough time finding any examples of validating input into a >> paper-input when the validation needs to happen asynchronously. Looking at >> the docs, implementing >> https://elements.polymer-project.org/elements/iron-validator-behavior >> doesn't work because you have to implement the validate() method which >> returns a boolean (synchronously). >> >> I'm trying to validate the input of a paper-input against a webservice, >> any ideas? >> >> Follow Polymer on Google+: plus.google.com/107187849809354688692 >> --- >> > You received this message because you are subscribed to the Google Groups >> "Polymer" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. > > >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/polymer-dev/9c4dbc32-de42-4396-adf8-afccd7004a22%40googlegroups.com >> <https://groups.google.com/d/msgid/polymer-dev/9c4dbc32-de42-4396-adf8-afccd7004a22%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > Follow Polymer on Google+: plus.google.com/107187849809354688692 --- You received this message because you are subscribed to the Google Groups "Polymer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/polymer-dev/CADBYpyncsrgpb7P2Ua60tBr7db3ifs%3DVzfbbRJQEA-h7sX9ShA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
