respect-validation/docs/rules/Number.md
Henrique Moody 562d98d805
Refactor the NotEmpty rule
Since we have the ability to use `not` as a prefix, having rules that
validate negative behaviour makes them a bit inflexible, verbose, and
harder to understand.

This commit will refactor the `NotEmpty`, and rename it to `Falsy`. It
will no longer trim strings, because Blank does a much better job at it;
it only simulates the behaviour of PHP’s native `empty()` function.

Because `Falsy`, `Blank`, and `Undef` have similar behaviour, I created
a page to demonstrate the difference and show when the user should use
one or the other.

Assisted-by: Cursor (claude-4.5-opus-high)
2025-12-29 12:48:35 +01:00

57 lines
1.4 KiB
Markdown

# Number
- `Number()`
Validates if the input is a number.
```php
v::number()->isValid(42); // true
v::number()->isValid(acos(8)); // false
```
> "In computing, NaN, standing for not a number, is a numeric data type value
> representing an undefined or unrepresentable value, especially in
> floating-point calculations." [Wikipedia](https://en.wikipedia.org/wiki/NaN)
## Templates
### `Number::TEMPLATE_STANDARD`
| Mode | Template |
| ---------- | ---------------------------------- |
| `default` | {{subject}} must be a valid number |
| `inverted` | {{subject}} must not be a number |
## Template placeholders
| Placeholder | Description |
| ----------- | ---------------------------------------------------------------- |
| `subject` | The validated input or the custom validator name (if specified). |
## Categorization
- Numbers
## Changelog
| Version | Description |
| ------: | ----------- |
| 2.0.0 | Created |
---
See also:
- [Blank](Blank.md)
- [BoolType](BoolType.md)
- [CallableType](CallableType.md)
- [Falsy](Falsy.md)
- [FloatType](FloatType.md)
- [IntType](IntType.md)
- [NullType](NullType.md)
- [NumericVal](NumericVal.md)
- [ObjectType](ObjectType.md)
- [ResourceType](ResourceType.md)
- [StringType](StringType.md)
- [Type](Type.md)
- [Undef](Undef.md)