OpenZeppelin / OpenZeppelin/contracts-wizard

Provide better feedback in UI when input is invalid

Open
#312 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
294
Forks
186
Avg merge
6h 46m
Merged PRs (30d)
22

Description

Certain input fields in the UI perform validations on the input, and would show an error on that field if the input is deemed to be invalid.

If a field has an error, no other input takes effect until the error is fixed.
If multiple fields have errors, only the first one is shown. For example, this can be seen when inputting just a in both Voting Delay and Proposal Threshold for Governor.

This can be improved to give better feedback to the user, in case the user did not notice the error. If the user keeps making input changes while there is an error, they may not realize that the resulting contract is not being updated, and may download or copy the stale contract anyways.

Specifically, consider:

  • Making input errors more obvious (e.g. always showing the error message, not just when hovering over the field).
  • Disabling the Copy, Open in Remix, or Download buttons until all errors are fixed, and show a hover message for those on why they are disabled.
  • Allowing multiple errors to be shown at the same time.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the UI validation behavior for Voting Delay and Proposal Threshold, then inspect the Copy, Open in Remix, and Download controls. Compare how field errors and blocked updates are currently presented. Done means invalid input is clearly surfaced, all relevant errors can be seen, and export or copy actions explain why they are unavailable until errors are fixed.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.