Yup

无效的简单对象架构验证
授权协议 MIT
开发语言 JavaScript TypeScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 不详
投 递 者 戚飞雨
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 validity
schema
  .isValid({
    name: 'jimmy',
    age: 24,
  })
  .then(function (valid) {
    valid; // => true
  });

// you can try and type cast objects to the defined schema
schema.cast({
  name: 'jimmy',
  age: '24',
  createdOn: '2014-09-23T19:25:25Z',
});
// => { name: 'jimmy', age: 24, createdOn: Date }
  • 产品数量: ^[1-9]*[1-9][0-9]*$ 产品价格: (^[1-9][0-9]*$)|(^0.[0-9]+$)|(^[1-9][0-9]*.[0-9]+$) 小数点后最多两位 /^\d+(\.(\d){1,2})?$/ \d+ 表示 以一个或多个数字开头 确保不出现 .1 (\.(\d){1,2})? 表示 有0个或者1个 \.(\d){1,2}部分出现 这部分作用是 一个 小数点在前面

  • React使用formik+yup创建表单 简述 在React中,react提供了ref来让我们获取react元素对应的真实的dom元素,利用这个特性我们确实可以获取表单域所对应的值 import React, { Fragment, useRef, useState } from "react"; export default function A() { const inputRef =

  • 相关网址 Yup官网 (一个通用的验证框架, 可以接入很多的表单验证库) Felte官网 (同时支持 React Solid Svelte ,以后应该会支持更多的库) react-hook-form 官网 定义验证规则 与 生成普通的ts类型 更多规则 看官方文档,最大值、最小值、大小写、枚举、默认值、等等 js 中 “undefined === null” 返回结果是 false . 所以是 两

  • 登录表单验证——实例-yup方式 & 表单验证流程 安装:yarn add yup ,导入 Yup。 在 withFormik 中添加配置项 validationSchema,使用 Yup 添加表单校验规则。 在 Login 组件中,通过 props 获取到 errors(错误信息)和 touched(是否访问过,注意:需要给表单 元素添加 handleBlur 处理失焦点事件才生效!)。 在表单

  • yup schema 是一种用于描述 JSON 数据的语法。它可以用于验证 JSON 数据的有效性,并可以帮助开发人员在设计 API 时统一数据格式。 yup schema 由一系列的规则组成,每个规则描述了一个 JSON 字段的类型、是否必须、是否可空等信息。例如,下面是一个简单的 yup schema 示例: const schema = yup.object().shape({name: y

  • 使用formik和yup是为了解决react-form表单验证的繁琐 不使用插件,form表单验证 利用onChange事件触发写的表单规则 再分别对不同type书写规则验证逻辑 为表单定义state // 关键代码逻辑 //组件触发区 <TextField id="ResetEmail" type="email" label="E-mail" onChange=

 相关资料
  • 使用Mockito示例页面中最基本的示例,我能够在JUnit中成功运行。 然而,当我在斯波克运行相同的测试时,它失败了。 JUnit/Java版本(通过): Spock/Groovy版本(此失败): 以下是斯波克测试失败时出现的错误: 有什么想法或建议吗?我真的很喜欢斯波克和莫奇托,希望他们能很好地合作。非常感谢!

  • Im使用请求验证器模式来验证传入的post请求- 测验json文件: 无服务器.yml 文件: 没关系,当属性“名称”不包含在post请求中时,它正在验证,但是正如您在我的json文件中看到的,属性中只有名称。当我包含像- 我想要的只是我在test.json文件上设置的键和值对才会被接受。我还没有看到任何关于json架构的文档,希望它有一个替代的解决方案。

  • 本文向大家介绍简单解析Django框架中的表单验证,包括了简单解析Django框架中的表单验证的使用技巧和注意事项,需要的朋友参考一下 我们的搜索示例仍然相当地简单,特别从数据验证方面来讲;我们仅仅只验证搜索关键值是否为空。 然后许多HTML表单包含着比检测值是否为空更为复杂的验证。 我们都有在网站上见过类似以下的错误提示信息:     请输入一个有效的email地址, foo' 并不是一个有效的

  • 问题内容: 但是,这将返回一条错误消息:线程“ main”中的异常java.lang.IllegalArgumentException:无法加载实现由http://www.w3.org/2001/XMLSchema -instance 指定的模式语言的SchemaFactory。 这是我的代码还是实际的xsd文件有问题? 问题答案: 该错误意味着您安装的Java没有任何可解析XMLSchema文件

  • 我从一个在线课程中创建了一个简单的helloworld react应用程序,但是我得到了这个错误: 配置对象无效。已使用与API模式不匹配的配置对象初始化Webpack。-配置具有未知属性“PostCSS”。这些属性是有效的:object{amd?,Bail?,Cache?,Context?,Dependencies?,DevServer?,DevTool?,entry,Externals?,lo

  • 本文向大家介绍Java和Ceylon对象的构造和验证,包括了Java和Ceylon对象的构造和验证的使用技巧和注意事项,需要的朋友参考一下 当变换Java代码为Ceylon代码时,有时候我会遇到一些Java类构造器混淆了验证与初始化的情形。让我们使用一个简单但是人为的代码例子来说明我想阐述的意思。 一些坏代码 考虑下面的Java类。(伙计,不要在家里写这样的代码) 嘿,我之前已经警告过,它是人为的