Yup 无效的简单对象架构验证

开源网站开源项目 24-03-22 09:05:04

Yup 是一个用于数值解析和验证的 JavaScript 模式构建器。定义一个模式,转换一个值来匹配;验证一个现有值的形状,或者两者都是。Yup 模式具有极强的表现力,允许对复杂的、相互依赖的验证或价值转换进行建模。

Yup 的 API 在很大程度上受到 Joi 的启发,但更精简,并以客户端验证作为其主要用例。Yup 将解析和验证功能分为不同的步骤。 cast() 对数据进行转换,而 validate 则检查输入的形状是否正确。每个步骤都可以一起执行(比如 HTML 表单验证)或单独执行(比如从 API 反序列化可信数据)。

import * as yup from 'yup';let schema = yup.object().shape({  name: yup.string().required(),  age: yup.number().required().positive().integer(),  email: yup.string().email(),  website: yup.string().url(),  createdOn: yup.date().default(function () {    return new Date();  }),});// check validityschema  .isValid({    name: 'jimmy',    age: 24,  })  .then(function (valid) {    valid; // => true  });// you can try and type cast objects to the defined schemaschema.cast({  name: 'jimmy',  age: '24',  createdOn: '2014-09-23T19:25:25Z',});// => { name: 'jimmy', age: 24, createdOn: Date }
[Yup 无效的简单对象架构验证]相关推荐
TOAD 数据库开发工具

TOAD 数据库开发工具

TOAD 是一套专业的数据库开发工具,透过图形式的操作接口,大幅提升程序开发人员或数据库管理员的作业效……...

SHOGUN 机器学习工具箱

SHOGUN 机器学习工具箱

SHOGUN是一个机器学习工具箱,其重点是在大尺度上的内核的方法,特别是支持向量机(SVM)的学习工具箱。……...

Arora 轻量级浏览器

Arora 轻量级浏览器

Arora是一款基于WebKit和Qt的轻量级浏览器。因为使用了QtWebKit,它可以运行在所有支持QT的平台上,如嵌……...

brutal 异步聊天机器人框架

基于 Twisted 的多网络异步聊天机器人框架。 有多种方法可以用 python 编写聊天机器人,但是大多数线程都……...

今日开源
  1. Rubick 基于 electron 的开源工具箱

    Rubick 是一个基于 electron 的工具箱,媲美 utools 的开源插件,已实现 utools 大部分的 API 能力,所以可以做到无缝适配 utools 开源的插件。 之所以做这个工具箱一方面是 utools 本身并未开源,但是公司内部的……

    开源软件 2024-05-17

  2. Terminus 更现代化的终端

    Terminus 更现代化的终端

    Terminus 是一个高度可配置的终端模拟器,适用于 Windows、macOS 和 Linux 主题和配色方案 完全可配置的快捷方式 拆分窗格 标签记忆 支持 PowerShell(和 PS Core)、WSL、Git-Bash、Cygwin、Cmder 和 CMD 集成的……

    开源软件 2024-05-17

  3. Electron 跨平台桌面应用开发工具

    Electron 跨平台桌面应用开发工具

    Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。 Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用……

    开源软件 2024-05-17

返回顶部小火箭