Correct "required" asterisk when using validation option :on
#1872
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1860
We show a "required" asterisk when fields are required. However there are some edge cases, like when the requirement has an if/unless. We don't consider those actually required and we don't show the asterisk there.
But there are other edge cases. Issue #1860 shows how the validation option
:on
can also create cases where an apparent requirement is not actually a requirement. Normally this option has the values:create
or:update
, but there are other possibilities.This PR tries to solve the issue. There are three commits, each an incremental improvement:
:on
to be the same as:if
and:unless
, and hide the asterisk.:if
,:unless
, and:on
. This also allows for more scalable specs, should we decide to add more fine-grained handling of these options.on: :create
andon: :update
, and hide the asterisk for any other:on
value.So we could go just with the first commit, or the first two, or the whole thing. Or more than that! Opinions?