所以我在使用yup进行条件验证时遇到了问题。基本上,我希望运输有必要的属性时,复选框未被切换。我正在使用yup的when特性,但是我不知道如何从那个shipping嵌套对象中引用sameShippingAsBilling布尔值。 当checkbox为false时,一切正常,显示错误...但是当复选框被选中时,我得到这个错误:"Cannot use 'in' operator to search for 'default' in undefined" 问题是is回调中的值是未定义的。是否有可能从这些嵌套对象访问when中的外部变量?有什么替代方法
我得到了一个与我的怀疑高度相关的简单例子,所以我用这个作为我的例子。在这个链接中,我们可以看到一个简单的Yup验证模式。因此,当我们在电子邮件字段中输入某些内容时,电子邮件验证中的控制台日志将被打印出来,这显然是很好的。但是,即使我们在name字段中键入某些内容,控制台也会被打印出来。
验证模式
const schema = yup.object({
name: yup.string().required(),
email: yup.string().test('is-jimmy', '${path} is not Jimmy', function (v
你好斯塔克沃夫家族,
我有一个与Yup相关的问题,我有一个选择的输入字段,它在它的第四个条目上有4个条目,它又添加了两个输入字段。如果用户从select输入字段中选择第四项,则可以对两个输入字段应用验证,否则只需提交表单即可。
const YupSchema = Yup.object().shape({
workspace_name: Yup.string().trim()
.required('Organization Name can not be Empty'),
workspace_environment: Yup.string().trim()
.re
我正在尝试使用reactjs material ui和formik实现验证电话号码字段
我读了很多关于它的文章,但我不能以我的方式实现它。
我在这里提交我的组件的可重现代码:
import React from 'react';
import TextField from '@material-ui/core/TextField';
import { connect } from "react-redux";
import { FormGroup } from '@material-ui/core';
import {
F
如何实现像1字段的值这样的条件应该总是大于另一个字段的值。
这是我的模式
value: Yup.number().required(''),
value2: Yup.number().when('value',{
is: (val) => something here
then: Yup.number().required('Required').positive('value should be positive'),
otherwise: Yup.number()
})
我想检查
我在几个不同的网站上见过这样的事情,但我不知道如何才能做出最好的反应。
我有一个表单,它有一些验证,但我希望防止用户重定向到表单的另一个路径有验证错误。
FormComponent.js
import React, { useState, useEffect, useRef } from "react";
import Form from "./Form";
import TextInput from "./TextInput";
import * as Yup from "yup";
const FormComponent =
我有个就像..。
code: Yup.string()
.min(3, 'Must be at least 3 characters')
.required('Code is required')
.test('unique-code', 'Code is taken', productCodeValidator),
...where .test('unique-code'发出一个API调用,确认代码是唯一的。如果需要的话,我只想启动验证器,但是我找不到一个Yup方法来完成它。
我尝试了.when,但这
我有一个使用Formik库创建事件的表单。我需要检查开始日期是否与结束日期重叠,反之亦然。我有两个日期选择器来选择日期和时间。我如何使用Yup来验证这一点,并在它们重叠时显示错误消息?
提前感谢你的帮助
const validationSchema = Yup.object().shape({
eventName: Yup.string()
.min(1, "Must have a character")
.max(10, "Must be shorter than 255")
.required("
Yup异步验证测试被多次调用。是否有任何方法只在值发生更改时才调用test或阻止对同一值进行验证检查?
const validationSchema = yup.object().shape({
zipCode: yup.string().required()
.test('invalidZip', 'ZipCode must be valid', (value, context) => {
/**
* api call to validate zip code