mirror of
https://github.com/Respect/Validation.git
synced 2026-03-17 07:45:45 +01:00
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 `NotEmoji` and rename it to `Emoji`. It will no longer check if the string contains emojis, but rather if the string is an emoji or not. I’m also adding support to more emojis, since the rule was a bit outdated. This change will make the validator more strict, but will make it useful in other scenarios. However, later on, I would like to create a rule called `has` which, could use a validator like `Emoji` to check if the input _has_ emojis. Assisted-by: Cursor (claude-4.5-opus-high)
2.5 KiB
2.5 KiB
Alnum
Alnum()Alnum(string ...$additionalChars)
Validates whether the input is alphanumeric or not.
Alphanumeric is a combination of alphabetic (a-z and A-Z) and numeric (0-9) characters.
v::alnum()->isValid('foo 123'); // false
v::alnum(' ')->isValid('foo 123'); // true
v::alnum()->isValid('100%'); // false
v::alnum('%')->isValid('100%'); // true
v::alnum('%', ',')->isValid('10,5%'); // true
You can restrict case using the Lowercase and Uppercase rules.
v::alnum()->uppercase()->isValid('example'); // false
Message template for this validator includes {{additionalChars}} as the string
of extra chars passed as the parameter.
Templates
Alnum::TEMPLATE_STANDARD
| Mode | Template |
|---|---|
default |
{{subject}} must contain only letters (a-z) and digits (0-9) |
inverted |
{{subject}} must not contain letters (a-z) or digits (0-9) |
Alnum::TEMPLATE_EXTRA
| Mode | Template |
|---|---|
default |
{{subject}} must contain only letters (a-z), digits (0-9), and {{additionalChars}} |
inverted |
{{subject}} must not contain letters (a-z), digits (0-9), or {{additionalChars}} |
Template placeholders
| Placeholder | Description |
|---|---|
additionalChars |
Additional characters that are considered valid. |
subject |
The validated input or the custom validator name (if specified). |
Categorization
- Strings
Changelog
| Version | Description |
|---|---|
| 2.0.0 | Removed support to whitespaces by default |
| 0.3.9 | Created |
See also: