Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lazy-rules ceases to function after the first encountered validation failure #16690

Closed
enmaku opened this issue Dec 12, 2023 · 14 comments
Closed
Labels
area/components bug/1-repro-available A reproduction is available and needs to be confirmed. flavour/quasar-cli-vite kind/bug 🐞 Qv2 🔝 Quasar v2 issues

Comments

@enmaku
Copy link

enmaku commented Dec 12, 2023

What happened?

When lazy-rules is set on an input, the input will not provide live validation feedback as the user types, and will only validate on blur. Once one has received a validation error, however, lazy-rules ceases to function for that field and the user will now receive validation errors on every single keypress. In my case this was encountered in a form users frequently tab through for data entry - shift+tabbing back to the prior field and typing a correction produces a fresh error for every keystroke.

What did you expect to happen?

I expect that lazy-rules should cause validation to fire only on blur, submit, or when validate() is called manually, and should never revert back to realtime validation behaviors when set.

Reproduction URL

https://codepen.io/enmaku/pen/mdvYdev

How to reproduce?

Go to the provided codepen, enter an incorrect value into the first text field. lazy-rules should behave correctly at this point. Blur that field via any method to trigger the validation failure, then return to the field and attempt to replace the erroneous value. lazy-rules will no longer behave correctly.

Flavour

Quasar CLI with Vite (@quasar/cli | @quasar/app-vite)

Areas

Components (quasar)

Platforms/Browsers

Firefox, Chrome, Safari, Microsoft Edge

Quasar info output

No response

Relevant log output

No response

Additional context

No response

@enmaku enmaku added kind/bug 🐞 Qv2 🔝 Quasar v2 issues labels Dec 12, 2023
@github-actions github-actions bot added area/components bug/1-repro-available A reproduction is available and needs to be confirmed. flavour/quasar-cli-vite labels Dec 12, 2023
@rstoenescu
Copy link
Member

Hi,

The behavior is correct. First validation should happen after user loses focus on the field. But afterwards, while the user is typing (so correcting) the live feedback is needed otherwise it will still say the input is invalid even though this is not the case anymore, which we don't want.

@enmaku
Copy link
Author

enmaku commented Dec 13, 2023

Hi,

The behavior is correct. First validation should happen after user loses focus on the field. But afterwards, while the user is typing (so correcting) the live feedback is needed otherwise it will still say the input is invalid even though this is not the case anymore, which we don't want.

This behavior cannot possibly be correct. If you want lazy rules, you want lazy rules, not half-lazy rules situationally. This is a bad user experience for anyone navigating a form with a keyboard and it is NOT the way validation works in most frameworks.

Don't ignore the feedback of your community because you don't want to do the work to make your product behave correctly.

@enmaku
Copy link
Author

enmaku commented Dec 13, 2023

Hi,

The behavior is correct. First validation should happen after user loses focus on the field. But afterwards, while the user is typing (so correcting) the live feedback is needed otherwise it will still say the input is invalid even though this is not the case anymore, which we don't want.

At the very least, the documentation needs to make it explicit that this is the way quasar behaves, so people like me won't build an entire project on the basis of a framework that doesn't actually do what you want and can't be easily coerced to behave like every other framework on the market.

@pdanpdan
Copy link
Collaborator

Please provide a few examples of frameworks behaving thar way so we can study. Thank you

@enmaku
Copy link
Author

enmaku commented Dec 13, 2023

Please provide a few examples of frameworks behaving thar way so we can study. Thank you

Go use literally any forms anywhere on the internet, or read your own docs since that's the way they say your product works. You're clearly not going to do the work to actually fix this so I'm done doing free labor for you.

@pdanpdan
Copy link
Collaborator

Please provide one example of all the existing frameworks. Thank you.

@enmaku
Copy link
Author

enmaku commented Dec 13, 2023

Please provide one example of all the existing frameworks. Thank you.

Please provide an example of you actually being a helpful human being instead of actively dismissing the experiences of the people using your product because you don't want to follow standards.

@enmaku
Copy link
Author

enmaku commented Dec 13, 2023

What a great experience this has been. Inspires such confidence in this framework and its future.

@rstoenescu
Copy link
Member

@enmaku

Wow. Can you be any more toxic? It's clear that this is your first encounter with open-source. Otherwise you wouldn't be so hostile to people offering their work for free so that you can make money with it. Let me be clear that you are not entitled to anything, especially since I don't see you rush in with a donation. Coupled with your bad attitude towards other human beings who are still here engaged in a dialog trying to reach a conclusion on this ticket, it makes it really hard for us to want to help you. I'm yet to see a more brilliant comment than yours as so I'm done doing free labor for you given my thoughts above.

This is my first and last comment on the subject on how one should behave in our community. Should you want to keep this dialog open so that we can all reach the best solution using reasoning alone then please stop the derogatory and emotional comments.

Thank you.

@enmaku
Copy link
Author

enmaku commented Dec 14, 2023

@enmaku

Wow. Can you be any more toxic? It's clear that this is your first encounter with open-source. Otherwise you wouldn't be so hostile to people offering their work for free so that you can make money with it. Let me be clear that you are not entitled to anything, especially since I don't see you rush in with a donation. Coupled with your bad attitude towards other human beings who are still here engaged in a dialog trying to reach a conclusion on this ticket, it makes it really hard for us to want to help you. I'm yet to see a more brilliant comment than yours as so I'm done doing free labor for you given my thoughts above.

This is my first and last comment on the subject on how one should behave in our community. Should you want to keep this dialog open so that we can all reach the best solution using reasoning alone then please stop the derogatory and emotional comments.

Thank you.

Wow, can you be any more lazy? It's clear that this is your first encounter with being held responsible for the quality of your code. Otherwise you wouldn't be so hostile toward someone doing very basic QA. Let me be clear that you aren't entitled to any respect, especially since I don't see you in a rush with any basic human decency. Coupled with your bad attitude towards other human beings who are still here trying to help you reach a better state of quality in your code, it makes it really hard for people to want to help you improve your product. I'm yet to see a more snarky and unproductive comment than yours as literally everything you just said.

This is my first and last comment on the subject of how one should behave as a professional developer receiving feedback on their product. Should you want to continue receiving bug reports from the public so that we can all reach the best possible framework using time tested feedback mechanisms then please stop the lazy and emotional practice of denying your code can ever be wrong.

Thank you.

@enmaku
Copy link
Author

enmaku commented Dec 14, 2023

All snark aside, even if you disagree with me about how lazy-rules should work, a good dev would take a ticket like this as a sign that docs need updated to better set expectations. Instead, you're trying to gaslight a fellow dev into believing that a common validation pattern is not only nonexistent but so foolish as to be deserving of personal ridicule.

I didn't start shouting for no reason, I started shouting because you stopped listening - and you stopped listening almost immediately.

@rstoenescu
Copy link
Member

I literally said that the dialog can still be open for reaching the best solution for this ticket, yet your only comments were even more toxic. Good luck in your endeavours with this attitude. What you gave was called "feedback" only on the initial report of the problem. Then you went ballistic and forgot why you are here, which is to discuss and reason about what needs to be changed and why, not to straight on smack on people offering their work for free. Will further ponder on your ticket and probably push a commit for it should we reach a decision, but certainly not doing it for you, but for the sake of the framework.

Seems like nothing good can come out of a discussion with you since you are still over-reacting instead of focusing on the issue at hand. Have a good life, outside of Quasar. Feel free to teach and offer precious advices to other people. I'm done with you.

@focusdisorder
Copy link

Blocking people doesn't do much on a free-signup site with little to no validation. You'd know that if you spent enough time on the internet to actually be developing a web framework.

Everything I said was reasonable and emotionless right up until you started stubbornly repeating some variant of "prove it" when told some users might have different expectations. You were the one that went ballistic, demanding proof of user expectations when my presence here is the proof. I have read at least one other report similar to mine here, which you personally responded to, so I'm not even the first person to tell you about this and yet here you are getting defensive and shitty when someone so much as questions you.

But now I understand why you work on open source - because if you tried to work anywhere that someone had the power to fire you for your rank unprofessionalism, you'd never hold down a job.

Have a good life. I hope you decide to start learning and growing soon. Being a good person is nice, you should try it some time.

Now go ahead and ban this account too, having learned nothing.

@rstoenescu
Copy link
Member

Look it up better who asked you this. You do realize that you have talked to two persons here, me and Dan, right?

Anyway, stop wasting our time and don't worry for us. Worry for your 0 contributions to open-source in the past year (or probably more, or probably ever) before telling someone how a web framework should be run. Ironically, to the person who's actually done that since 2015 -- for free.

If you'd have any decency left, you'd end it here.

@quasarframework quasarframework locked and limited conversation to collaborators Dec 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/components bug/1-repro-available A reproduction is available and needs to be confirmed. flavour/quasar-cli-vite kind/bug 🐞 Qv2 🔝 Quasar v2 issues
Projects
None yet
Development

No branches or pull requests

4 participants