Skip to content

Validators API Reference

Built-in validators for .env values.

Validator Function Signature

zig
pub const ValidatorFn = *const fn (value: []const u8) ?[]const u8;

Returns null on success, or an error message on failure.

Built-in Validators

validators.required

Value must not be empty.

validators.boolean

Value must be a valid boolean: true/false/yes/no/1/0/on/off (case-insensitive).

validators.integer

Value must be a valid integer (optional leading + or -).

validators.float

Value must be a valid float (optional leading sign, optional decimal point).

validators.url

Value must start with http:// or https://.

validators.email

Value must contain @ with valid local and domain parts.

validators.ipv4

Value must be a valid IPv4 address (four dot-separated octets 0-255).

validators.hostname

Value must be a valid hostname (alphanumeric, hyphens, dots).

validators.port

Value must be a valid port number (0-65535).

validators.range(min, max)

Value must be a number within the given range (inclusive).

validators.minLength(min)

Value must be at least min characters long.

validators.maxLength(max)

Value must be at most max characters long.

validators.oneOf(allowed)

Value must be one of the allowed string values.

Custom Validators

Create a custom validator by implementing the ValidatorFn signature:

zig
fn myValidator(value: []const u8) ?[]const u8 {
    if (value.len < 3) return "must be at least 3 characters";
    return null;
}

Released under the MIT License.