mirror of
https://github.com/Respect/Validation.git
synced 2026-03-16 23:35:45 +01:00
The "Domain" rule duplicates a lot of its logic among the methods "check()," "validate()," and "assert()." Such duplication makes it hard to maintain and hard to understand. Besides that: - It triggers a PHP error when trying to validate a non-scalar value; - It does not show the exceptions in the correct hierarchy; - It allows to change the TLD validation after to object is created. This commit will fix those issues and create better tests for the rule. Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
1.2 KiB
1.2 KiB
Domain
Domain()Domain(bool $tldCheck)
Validates whether the input is a valid domain name or not.
v::domain()->validate('google.com');
You can skip top level domain (TLD) checks to validate internal domain names:
v::domain(false)->validate('dev.machine.local');
This is a composite validator, it validates several rules internally:
- If input is an IP address, it fails.
- If input contains whitespace, it fails.
- If input does not contain any dots, it fails.
- If input has less than two parts, it fails.
- Input must end with a top-level-domain to pass (if not skipped).
- Each part must be alphanumeric and not start with an hyphen.
- PunnyCode is accepted for Internationalizing Domain Names in Applications.
Messages for this validator will reflect rules above.
Changelog
| Version | Description |
|---|---|
| 0.6.0 | Allow to skip TLD check |
| 0.3.9 | Created |
See also: