respect-validation/docs/rules/Time.md
Henrique Moody 48405271c5
Replace placeholder "name" with "subject"
The `{{name}}` placeholder could represent different things depending on
the state of the Result, and referring to it as `{{name}}` seems
arbitrary. This commit changes it to `{{subject}}`, which is much more
generic and it describes well what that placeholder can mean.
2025-12-26 21:30:01 +01:00

71 lines
2.6 KiB
Markdown

# Time
- `Time()`
- `Time(string $format)`
Validates whether an input is a time or not. The `$format` argument should be in
accordance to PHP's [date()](http://php.net/date) function, but only those are
allowed:
| Format | Description | Values |
| ------ | ----------------------------------------------- | --------------------- |
| `g` | 12-hour format of an hour without leading zeros | 1 through 12 |
| `G` | 24-hour format of an hour without leading zeros | 0 through 23 |
| `h` | 12-hour format of an hour with leading zeros | 01 through 12 |
| `H` | 24-hour format of an hour with leading zeros | 00 through 23 |
| `i` | Minutes with leading zeros | 00 to 59 |
| `s` | Seconds, with leading zeros | 00 through 59 |
| `u` | Microseconds | 000000 through 999999 |
| `v` | Milliseconds | 000 through 999 |
| `a` | Lowercase Ante meridiem and Post meridiem | am or pm |
| `A` | Uppercase Ante meridiem and Post meridiem | AM or PM |
When a `$format` is not given its default value is `H:i:s`.
```php
v::time()->isValid('00:00:00'); // true
v::time()->isValid('23:20:59'); // true
v::time('H:i')->isValid('23:59'); // true
v::time('g:i A')->isValid('8:13 AM'); // true
v::time('His')->isValid(232059); // true
v::time()->isValid('24:00:00'); // false
v::time()->isValid(new DateTime()); // false
v::time()->isValid(new DateTimeImmutable()); // false
```
## Templates
### `Time::TEMPLATE_STANDARD`
| Mode | Template |
| ---------- | ------------------------------------------------------------- |
| `default` | {{subject}} must be a valid time in the format {{sample}} |
| `inverted` | {{subject}} must not be a valid time in the format {{sample}} |
## Template placeholders
| Placeholder | Description |
| ----------- | ---------------------------------------------------------------- |
| `subject` | The validated input or the custom validator name (if specified). |
| `sample` | |
## Categorization
- Date and Time
## Changelog
| Version | Description |
| ------: | ----------- |
| 2.0.0 | Created |
---
See also:
- [Date](Date.md)
- [DateTime](DateTime.md)
- [DateTimeDiff](DateTimeDiff.md)
- [LeapDate](LeapDate.md)
- [LeapYear](LeapYear.md)