Skip to main content

validator_errors_to_miette

Function validator_errors_to_miette 

Source
pub fn validator_errors_to_miette<T>(
    spanned: &Spanned<T>,
    errors: &ValidationErrors,
    source: &str,
    name: impl Into<String>,
) -> Report
Expand description

Render a [validator::ValidationErrors] against a Spanned<T> payload as a [miette::Report].

Mirrors garde_errors_to_miette for the validator crate.

§Examples

ⓘ
use noyalib::Spanned;
use noyalib::validated_miette::validator_errors_to_miette;
use validator::Validate;

#[derive(Debug, serde::Deserialize, Validate)]
struct Cfg {
    #[validate(range(min = 1024))]
    port: u16,
}

let yaml = "port: 22\n";
let wrapped: Spanned<Cfg> = noyalib::from_str(yaml).unwrap();
if let Err(errs) = wrapped.value.validate() {
    let report = validator_errors_to_miette(&wrapped, &errs, yaml, "config.yaml");
    drop(report);
}