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

error-related methods should be in Field interface, not AbstractComponent #3140

Closed
vaadin-bot opened this issue Nov 14, 2012 · 5 comments
Closed
Labels
Stale Stale bot label

Comments

@vaadin-bot
Copy link
Collaborator

Originally by @marlonrichert


Components that are not Fields should not be able to have error indicators: On non-interactive Components, such as Labels and ComponentContainers, having an error API does not make any sense at all. The only non-Field components were errors make sense are controls that can initiate actions, such as Buttons, but even then, when something goes wrong after pressing a Button, an error indicator is not the way to go! In those kind of cases, Vaadin should show a proper Notification to the user instead. Thus, non-Field Components are better off without an error API.

Therefore, please declare the following methods in the Field interface and move their implementations from AbstractComponent to AbstractField:

  • getErrorMessage()
  • getComponentError()
  • setComponentError(ErrorMessage)
  • fireComponentErrorEvent() [protected method, so in AbstractField only]
  • getErrorHandler()
  • setErrorHandler(ComponentErrorHandler)
  • handleError(ComponentErrorEvent)
    Or, instead of declaring them directly in Field, we could also put them in a separate Fallible interface for them.

Imported from https://dev.vaadin.com/ issue #10199

@vaadin-bot
Copy link
Collaborator Author

Originally by @marlonrichert


Or in other words: We should not have error handling on components that do not allow the user to enter values. It simply doesn't make sense.

If an error occurs that is not related to the user entering invalid data, then that indicates a programming error that's too serious to be handled with just an error indicator. A Notification should be shown instead.

@vaadin-bot
Copy link
Collaborator Author

Originally by @thinwire


This is a non-trivial API change, and a proper course of action is still being debated.

@vaadin-bot
Copy link
Collaborator Author

Originally by @Legioth


Hi, this ticket has been in the accepted state without any updates for a long time. Is someone still working on this?

If not, then please select "no longer working on this" in the Actions box below so that anyone else interested in investigating can know there's nobody else working on it.

@stale
Copy link

stale bot commented Mar 20, 2018

Hello there!

It looks like this issue hasn't progressed lately. There are so many issues that we just can't deal them all within a reasonable timeframe.

There are a couple of things you could help to get things rolling on this issue (this is an automated message, so expect that some of these are already in use):

  • Check if the issue is still valid for the latest version. There are dozens of duplicates in our issue tracker, so it is possible that the issue is already tackled. If it appears to be fixed, close the issue, otherwise report to the issue that it is still valid.
  • Provide more details how to reproduce the issue.
  • Explain why it is important to get this issue fixed and politely draw others attention to it e.g. via the forum or social media.
  • Add a reduced test case about the issue, so it is easier for somebody to start working on a solution.
  • Try fixing the issue yourself and create a pull request that contains the test case and/or a fix for it. Handling the pull requests is the top priority for the core team.
  • If the issue is clearly a bug, use the Warranty in your Vaadin subscription to raise its priority.

Thanks again for your contributions! Even though we haven't been able to get this issue fixed, we hope you to report your findings and enhancement ideas in the future too!

@stale stale bot added the Stale Stale bot label label Mar 20, 2018
@stale
Copy link

stale bot commented Sep 11, 2020

The issue was automatically closed due to inactivity. If you found some new details to it or started working on it, comment on the issue so that maintainers can re-open it.

@stale stale bot closed this as completed Sep 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Stale Stale bot label
Projects
None yet
Development

No branches or pull requests

1 participant