在现代Web应用程序中,数据验证是至关重要的一步。如果你需要验证动态表单的输入或者需要确保数据在向第三方依赖发送之前是有效的,这时候你就需要一个通用且可重用的验证程序。

不用担心!现在有了Zod库,我们可以轻松地构建一个类型化的通用验证程序。在本文中,我们将向你展示如何使用Zod来处理类似的需求。

首先,你需要安装Zod库:

npm add zod

接下来,你可以定义一个通用的“schema”对象来规定你需要验证的数据类型,例如:

const inputSchema = z.object({

name: z.string().min(2).max(255),

email: z.string().email(),

phoneNumber: z.string().min(10).max(15),

});

上面的代码中,我们使用Zod的schema对象定义了一个名为“inputSchema”的对象。该对象规定了一个输入必须包含“name”、“email”和“phoneNumber”字段,并且每个字段都有自己的验证规则。例如,姓名必须包含至少2个字符且不超过255个字符,电话号码必须包含至少10个字符但不超过15个字符。

现在,我们已经定义了需要验证的数据类型,接下来我们将使用一个示例函数来演示如何验证数据:

function validateInput(inputData: any) {

const inputResult = inputSchema.safeParse(inputData);

if (!inputResult.success) {

throw new Error(`Validation failed: ${inputResult.error.message}`);

}

return inputResult.data;

}

上面的代码中,我们定义了一个名为“validateInput”的函数,该函数拥有一个“inputData”参数。这个函数最后将返回“inputResult.data”,该数据是已经被Zod库验证了的数据。如果数据未能通过验证,该函数也将会抛出一个错误消息,其中包含了验证错误的信息。

使用Zod库来创建类型化的通用验证程序是非常简单的。与此同时,Zod库还支持多种类型的数据验证,包括复杂的嵌套数据类型,甚至是基于异步的数据验证。这使得Zod成为了构建现代Web应用程序所需的不可或缺的工具之一。

详情参考

了解更多有趣的事情:https://blog.ds3783.com/