[package]
edition = "2024"
rust-version = "1.89"
name = "validators"
version = "0.26.0"
authors = ["Magic Len <len@magiclen.org>"]
build = false
include = [
"src/**/*",
"Cargo.toml",
"README.md",
"LICENSE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "This library is designed for validating and modeling user input. The crate includes models, functions, traits, errors, and other dependencies."
homepage = "https://magiclen.org/validators"
readme = "README.md"
keywords = [
"validator",
"validation",
"user",
"serde",
"rocket",
]
categories = [
"no-std",
"parser-implementations",
"value-formatting",
]
license = "MIT"
repository = "https://github.com/magiclen/validators"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
all-validators = [
"base32",
"base32_decoded",
"base64",
"base64_decoded",
"base64_url",
"base64_url_decoded",
"bit",
"boolean",
"byte",
"domain",
"email",
"host",
"http_url",
"http_ftp_url",
"ip",
"ipv4",
"ipv6",
"json",
"length",
"line",
"mac_address",
"number",
"phone",
"regex",
"semver",
"semver_req",
"signed_integer",
"text",
"unsigned_integer",
"url",
"uuid",
]
axum = [
"serde",
"std",
"dep:axum",
]
base32 = ["validators-derive?/base32"]
base32_decoded = [
"validators-derive?/base32_decoded",
"data-encoding",
]
base64 = ["validators-derive?/base64"]
base64_decoded = [
"validators-derive?/base64_decoded",
"data-encoding",
]
base64_url = ["validators-derive?/base64_url"]
base64_url_decoded = [
"validators-derive?/base64_url_decoded",
"data-encoding",
]
bit = [
"validators-derive?/bit",
"byte-unit/bit",
]
boolean = ["validators-derive?/boolean"]
byte = [
"validators-derive?/byte",
"byte-unit/byte",
]
byte-unit = ["dep:byte-unit"]
byte-unit-u128 = ["byte-unit?/u128"]
data-encoding = ["dep:data-encoding"]
default = [
"std",
"all-validators",
"derive",
]
derive = ["dep:validators-derive"]
domain = [
"validators-derive?/domain",
"std",
"idna",
]
email = [
"validators-derive?/email",
"std",
"idna",
]
full = ["validators-derive?/full"]
host = [
"validators-derive?/host",
"std",
"idna",
]
http_ftp_url = [
"validators-derive?/http_ftp_url",
"url",
"str-utils",
]
http_url = [
"validators-derive?/http_url",
"url",
"str-utils",
]
idna = ["dep:idna"]
ip = [
"validators-derive?/ip",
"std",
]
ipv4 = [
"validators-derive?/ipv4",
"std",
]
ipv6 = [
"validators-derive?/ipv6",
"std",
]
json = [
"validators-derive?/json",
"serde_json",
]
length = ["validators-derive?/length"]
line = ["validators-derive?/line"]
mac_address = ["validators-derive?/mac_address"]
number = ["validators-derive?/number"]
phone = [
"validators-derive?/phone",
"phonenumber",
]
phonenumber = [
"dep:phonenumber",
"std",
]
regex = [
"validators-derive?/regex",
"regex-dep",
]
regex-dep = [
"dep:regex-dep",
"std",
]
rocket = [
"validators-derive?/rocket",
"dep:rocket",
"std",
"byte-unit?/rocket",
]
semver = [
"validators-derive?/semver",
"semver-dep",
]
semver-dep = ["dep:semver-dep"]
semver_req = [
"validators-derive?/semver_req",
"semver-dep",
]
serde = [
"validators-derive?/serde",
"dep:serde",
"byte-unit?/serde",
"url-dep?/serde",
"semver-dep?/serde",
]
serde_json = [
"dep:serde_json",
"serde",
]
signed_integer = ["validators-derive?/signed_integer"]
std = [
"validators-derive?/std",
"data-encoding?/std",
"idna?/std",
"byte-unit?/std",
"serde_json?/std",
"semver-dep?/std",
"serde?/std",
]
str-utils = ["dep:str-utils"]
test = ["validators-derive?/test"]
text = ["validators-derive?/text"]
unsigned_integer = ["validators-derive?/unsigned_integer"]
url = [
"validators-derive?/url",
"url-dep",
]
url-dep = [
"dep:url-dep",
"std",
]
uuid = ["validators-derive?/uuid"]
[lib]
name = "validators"
path = "src/lib.rs"
[dependencies.axum]
version = "0.8"
optional = true
default-features = false
[dependencies.byte-unit]
version = "5.1"
optional = true
default-features = false
[dependencies.data-encoding]
version = "2.2"
features = ["alloc"]
optional = true
default-features = false
[dependencies.idna]
version = "1"
features = [
"alloc",
"compiled_data",
]
optional = true
default-features = false
[dependencies.phonenumber]
version = "0.3.10"
optional = true
[dependencies.regex-dep]
version = "1.7"
optional = true
package = "regex"
[dependencies.rocket]
version = "0.5"
optional = true
default-features = false
[dependencies.semver-dep]
version = "1"
optional = true
default-features = false
package = "semver"
[dependencies.serde]
version = "1.0.119"
features = ["alloc"]
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0.45"
features = ["alloc"]
optional = true
default-features = false
[dependencies.str-utils]
version = "0.3"
optional = true
[dependencies.url-dep]
version = "2"
optional = true
package = "url"
[dependencies.validators-derive]
version = "0.26"
optional = true