👣garde — это библиотека для валидации данных в Rust🦀, то есть проверки, что структура или переменные соответствуют определённым правилам (например, "email должен быть валидным", "возраст больше 18", "строка не пустая" и т.д.).
🧠 garde позволяет:
✅ Легко описывать правила валидации прямо внутри структур (через атрибуты).
🔁 Работать с вложенными структурами (inner types).
🧊 Поддерживает newtypes — обёртки над типами.
🛠️ Писать свои кастомные валидаторы.
⚡ Проверка происходит во время исполнения, но декларативно выглядит как часть типа.
📦 Пример использования rust
use garde::Validate;
#[derive(Validate)] struct User { #[garde(length(min = 3))] username: String,
#[garde(email)] email: String, }
Тут username должен быть минимум из 3 символов, а email — валидный адрес.
👣garde — это библиотека для валидации данных в Rust🦀, то есть проверки, что структура или переменные соответствуют определённым правилам (например, "email должен быть валидным", "возраст больше 18", "строка не пустая" и т.д.).
🧠 garde позволяет:
✅ Легко описывать правила валидации прямо внутри структур (через атрибуты).
🔁 Работать с вложенными структурами (inner types).
🧊 Поддерживает newtypes — обёртки над типами.
🛠️ Писать свои кастомные валидаторы.
⚡ Проверка происходит во время исполнения, но декларативно выглядит как часть типа.
📦 Пример использования rust
use garde::Validate;
#[derive(Validate)] struct User { #[garde(length(min = 3))] username: String,
#[garde(email)] email: String, }
Тут username должен быть минимум из 3 символов, а email — валидный адрес.