rskit-validation 0.2.0-alpha.2

Fluent field-level validator that collects errors and converts to AppError
Documentation

rskit-validation — Fluent Input Validation

Fluent field-level validator that collects errors and converts to AppError.

CI crates.io docs.rs License: MIT MSRV: 1.91

Features

  • Fluent builder API — chain validators on a single Validator instance
  • String checks: required, min_length, max_length, email, url, pattern (regex)
  • UUID checks: required_uuid, optional_uuid
  • Numeric range via in_range<T>
  • Temporal checks: before, after (ISO-8601 strings)
  • Enum membership via one_of<T>
  • Custom boolean predicates via custom
  • Accumulates all FieldErrors, then converts to AppError::invalid_input on validate()

Usage

[dependencies]
rskit-validation = "0.2.0-alpha.2"
use rskit_validation::Validator;
use rskit_errors::AppResult;

fn validate_signup(name: &str, email: &str, age: u32) -> AppResult<()> {
    Validator::new()
        .required("name", name)
        .min_length("name", name, 3)
        .email("email", email)
        .in_range("age", age, 18u32, 120u32)
        .validate()
}

See Also

Main repository README