Format Rules
Format rules validate common string formats such as email addresses, URLs, identifiers, JSON, IP addresses, and MAC addresses. Use them after presence rules when a missing or empty value should produce a required-style error first.
Email
Requires the value to be a valid email address.
[Email]RuleFor(x => x.Email)
.Email();HexColor
Requires the value to be a hexadecimal color value in three-, four-, six-, or eight-digit form. The leading # is required.
[HexColor]RuleFor(x => x.BrandColor)
.HexColor();Uuid
Requires the value to be a valid UUID value.
[Uuid]RuleFor(x => x.ExternalId)
.Uuid();Ulid
Requires the value to be a valid ULID value.
[Ulid]RuleFor(x => x.PublicId)
.Ulid();Ip
Requires the value to be a valid IPv4 or IPv6 address.
[Ip]RuleFor(x => x.ClientIp)
.Ip();Ipv4
Requires the value to be a valid IPv4 address.
[Ipv4]RuleFor(x => x.ClientIp)
.Ipv4();Ipv6
Requires the value to be a valid IPv6 address.
[Ipv6]RuleFor(x => x.ClientIp)
.Ipv6();MacAddress
Requires the value to be a valid MAC address.
[MacAddress]RuleFor(x => x.DeviceAddress)
.MacAddress();Json
Requires the value to be valid JSON text.
[Json]RuleFor(x => x.Metadata)
.Json();Url
Requires the value to be an HTTP or HTTPS URL.
[Url]RuleFor(x => x.Website)
.Url();Timezone
Requires the value to be a valid time zone identifier.
[Timezone]RuleFor(x => x.Timezone)
.Timezone();