techcloud
Содержание

Первые шаги

Установка

Для 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}». Замените таблицу сообщений, чтобы поменять формулировки или язык. Русский перевод входит в поставку.