respect-validation/docs/validators/Domain.md
Henrique Moody d2198dfd01
Replace isValid() calls with assert()
There's more value on showing how `assert()` displays the validation
messages than simply showing if `isValid()` returns `true` or `false`.

However, that increases the chances of having outdated documentation, so
I created a doc linter that updates the Markdown files with the
correct message.
2026-01-13 23:37:06 -07:00

2 KiB

Domain

  • Domain()
  • Domain(bool $tldCheck)

Validates whether the input is a valid domain name or not.

v::domain()->assert('google.com');
// Validation passes successfully

You can skip top level domain (TLD) checks to validate internal domain names:

v::domain(false)->assert('dev.machine.local');
// Validation passes successfully

This is a composite validator, it validates several validators 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 validators above.

Templates

Domain::TEMPLATE_STANDARD

Mode Template
default {{subject}} must be a valid domain
inverted {{subject}} must not be a valid domain

Template placeholders

Placeholder Description
subject The validated input or the custom validator name (if specified).

Categorization

  • Internet

Changelog

Version Description
0.6.0 Allow to skip TLD check
0.3.9 Created

See also: