poem_openapi/validation/
mod.rs

1use std::fmt::Display;
2
3mod max_items;
4mod max_length;
5mod max_properties;
6mod maximum;
7mod min_items;
8mod min_length;
9mod min_properties;
10mod minimum;
11mod multiple_of;
12mod pattern;
13mod unique_items;
14
15pub use max_items::MaxItems;
16pub use max_length::MaxLength;
17pub use max_properties::MaxProperties;
18pub use maximum::Maximum;
19pub use min_items::MinItems;
20pub use min_length::MinLength;
21pub use min_properties::MinProperties;
22pub use minimum::Minimum;
23pub use multiple_of::MultipleOf;
24pub use pattern::Pattern;
25pub use unique_items::UniqueItems;
26
27use crate::registry::MetaSchema;
28
29/// Represents a validator for validate the input value.
30pub trait Validator<T>: Display {
31    /// Check the value is valid.
32    fn check(&self, value: &T) -> bool;
33}
34
35pub trait ValidatorMeta {
36    fn update_meta(&self, meta: &mut MetaSchema);
37}