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§
Macros§
- validate_
fields - Validate multiple fields inline before a SurrealDB operation.
Structs§
- Field
Error - 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.
- VldSurreal
Response - Serializable validation error for API responses.
- VldText
- A validated text field for SurrealDB documents.
Enums§
- VldSurreal
Error - Error returned by
vld-surrealdboperations.
Functions§
- validate_
content - Validate a value against schema
Sbefore 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.