Содержание
Первые шаги
Установка
Для techcloud нужен Rust 1.74+. Добавьте библиотеку в проект:
cargo add techcloud
Быстрый старт
Создайте Schema один раз при запуске и используйте его во всём приложении.
use techcloud::{Schema, Error};
#[tokio::main]
async fn main() -> Result<(), Error> {
let schema = Schema::builder()
.allow_unknown(false)
.max_errors(100)
.build()?;
schema.field("email", "required|email").await?;
let items = schema.validate(b"{\"email\":\"ada@example.com\"}").await?;
println!("{items:?}");
Ok(())
}
Правила
Правила выполняются в порядке объявления. Если не прошла проверка типа, остальные правила поля пропускаются — вы не получите ошибку диапазона для значения, которое даже не число.
Свои правила пишутся функциями, которые возвращают сообщение об ошибке или ничего.
Ошибки
validate() возвращает список ошибок, у каждой есть путь, код и сообщение. Коды стабильны и подходят для обработки на клиенте; сообщения — для людей.
Сообщения и языки
Сообщения — это шаблоны вроде «должно быть не меньше {min}». Замените таблицу сообщений, чтобы поменять формулировки или язык. Русский перевод входит в поставку.