- Stable
3.0.0
- Canary
3.0.1-alpha.1
Toggle Menu
Eleventy
1.93s
Astro
22.90s
Validate Data
Use the special eleventyDataSchema
data property to validate data in your Data Cascade. You can set this anywhere in your Data Cascade (front matter, directory data file, global data, etc).
You can use any schema or validation library to achieve this. In this example, we’re using zod
.
Example: Checking that draft
is boolean
In the following example, each content template with an eleventyDataSchema
callback (in this example, any templates in the blog
folder) is checked to make sure the value of any draft
assignments must be boolean
or undefined
. If not, we throw an error.
blog/blog.11tydata.js
import { z } from "zod";
import { fromZodError } from 'zod-validation-error';
export default {
eleventyDataSchema: function(data) {
let result = z.object({
draft: z.boolean().or(z.undefined()),
}).safeParse(data);
if(result.error) {
throw fromZodError(result.error);
}
}
};