Skip to content

Array

Create an array schema with array(element_schema).

use zod_rs::prelude::*;
use serde_json::json;
let schema = array(string());
assert!(schema.safe_parse(&json!(["a", "b", "c"])).is_ok());
assert!(schema.safe_parse(&json!([1, 2, 3])).is_err());
let schema = array(string()).min(1);
assert!(schema.safe_parse(&json!(["a"])).is_ok());
assert!(schema.safe_parse(&json!([])).is_err());
let schema = array(string()).max(5);
let schema = array(number()).length(3);
assert!(schema.safe_parse(&json!([1, 2, 3])).is_ok());
assert!(schema.safe_parse(&json!([1, 2])).is_err());
let schema = array(array(string()));
assert!(schema.safe_parse(&json!([["a", "b"], ["c", "d"]])).is_ok());
#[derive(ZodSchema)]
struct Config {
#[zod(min_length(1), max_length(10))]
tags: Vec<String>,
}