icydb/base/validator/bytes.rs
1use crate::{design::prelude::*, traits::Validator};
2
3///
4/// Utf8
5///
6
7#[validator]
8pub struct Utf8;
9
10impl Validator<[u8]> for Utf8 {
11 fn validate(&self, bytes: &[u8], ctx: &mut dyn VisitorContext) {
12 if std::str::from_utf8(bytes).is_err() {
13 ctx.issue("invalid UTF-8 data".to_string());
14 }
15 }
16}