Содержание
Рецепты
Небольшие законченные программы. Каждую можно скопировать и запустить как есть.
fields и field
Возвращает пути всех объявленных полей.
Добавляет правила для поля.
use techcloud::{Schema, Error};
#[tokio::main]
async fn main() -> Result<(), Error> {
let schema = Schema::builder()
.allow_unknown(false)
.max_depth(32)
.build()?;
let items = schema.fields().await?;
println!("{items:?}");
schema.field("email", "required|email").await?;
Ok(())
}
validate и is_valid
Проверяет JSON-документ и возвращает список ошибок.
Сообщает, проходит ли документ проверку, не собирая сообщений об ошибках.
use techcloud::{Schema, Error};
#[tokio::main]
async fn main() -> Result<(), Error> {
let schema = Schema::builder()
.max_errors(100)
.locale("ru")
.build()?;
let items = schema.validate(b"{\"email\":\"ada@example.com\"}").await?;
println!("{items:?}");
let ok = schema.is_valid(b"{\"email\":\"ada@example.com\"}").await?;
println!("{ok:?}");
Ok(())
}