Skip to main content

Crate vld_surrealdb

Crate vld_surrealdb 

Source
Expand description

§vld-surrealdb — SurrealDB integration for the vld validation library

Validate JSON documents before sending to SurrealDB and after receiving.

Zero dependency on surrealdb crate — works purely through serde, so it’s compatible with any SurrealDB SDK version (2.x, 3.x, etc.).

§Quick Start

use vld_surrealdb::prelude::*;

vld::schema! {
    #[derive(Debug)]
    pub struct PersonSchema {
        pub name: String  => vld::string().min(1).max(100),
        pub email: String => vld::string().email(),
        pub age: i64      => vld::number().int().min(0).max(150),
    }
}

#[derive(serde::Serialize)]
struct Person { name: String, email: String, age: i64 }

let person = Person {
    name: "Alice".into(),
    email: "alice@example.com".into(),
    age: 30,
};

// Validate before db.create("person").content(person)
validate_content::<PersonSchema, _>(&person).unwrap();

Re-exports§

pub use vld;

Modules§

prelude

Macros§

validate_fields
Validate multiple fields inline before a SurrealDB operation.

Structs§

FieldError
Structured error with field-level details, serializable as JSON.
Validated
A wrapper that proves its inner value has been validated against schema S.
VldBool
A validated boolean field for SurrealDB documents.
VldFloat
A validated float field for SurrealDB documents.
VldInt
A validated integer field for SurrealDB documents.
VldSurrealResponse
Serializable validation error for API responses.
VldText
A validated text field for SurrealDB documents.

Enums§

VldSurrealError
Error returned by vld-surrealdb operations.

Functions§

validate_content
Validate a value against schema S before create/insert/update.
validate_json
Validate raw JSON value against schema S.
validate_record
Validate a record loaded from SurrealDB against schema S.
validate_records
Validate a batch of records against schema S.
validate_value
Validate a single field value against a vld schema instance.