Allow the number 0 for numericality validation values #4700
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.
I recently started using redwood for a new project and I really like it. Thanks to everyone who has worked on it 😃
Issue
When specifying 0 as the value to check a numericality validation against, the validation is skipped. For example, if you wanted to validate that a
percent
input was between 0 and 100 you could do:validate(percent, "percent", { numericality: { greaterThanOrEqual: 0, lessThanOrEqual: 100 }});
. However, currently thegreaterThanOrEqual
check is skipped and negative values would be allowed.What this change does
This changes the checks from
if(options.lessThan && ...)
toif(options.lessThan != null && ...)
so that 0 is no longer considered false in the conditional. The validation will run as long as it's notnull
orundefined
. I made the change to all numericality validations that expect a number.