1pub mod error;
37pub mod impls;
38pub trait Validate {
39 fn validate(&self) -> Result<(), error::ValidatorError>;
40}
41
42#[cfg(feature = "derive")]
43pub use zisvalidator_derive::Validate;
44
45#[macro_export]
46macro_rules! validator_error {
47 ($field:expr,$attr:expr,$value:expr) => {{
48 ::std::format!("invalid `{}`: expected {} `{:?}`", $field, $attr, $value)
49 }};
50}
51
52pub trait ValidateRange<F:?Sized, R,Idx:?Sized>
53{
54 fn validate_range(&self, field: &F, range: &R) -> Result<(), error::ValidatorError>;
55}
56
57pub trait ValidateSeqRange<F:?Sized, R,Idx:?Sized>
58{
59 fn validate_seq_range(self, field: &F, range: &R) -> Result<(), error::ValidatorError>;
60}