如何解决循环依赖,节点是:yup中的“密码”
我收到了上述错误。不知道对象发生了什么。下面是我的对象。
export const loginValidator = yup.object({
login: yup.string().when('password',{
is: (v) => v < 9999 && v > 999,then: yup.string().required('Phone No is required').matches(phoneRegExp,'Must be 10 digits'),otherwise: yup.string().email().required('Email is required'),}),password: yup.string().when('login',{
is: (m) => phoneRegExp.test(m),then: yup
.string()
.required('Pin is required')
.matches(/^[0-9]+$/,'Must be only digits')
.min(5,'Must be exactly 5 digits')
.max(5,'Must be exactly 5 digits'),otherwise: yup.string().required('password is required'),});
我遇到的错误
Error: Cyclic dependency,node was:"password"
这是怎么回事 谢谢!!
解决方法
为了避免循环依赖,必须将这些值添加到 yup 中。
[['login','password']]
示例,
export const loginValidator = yup.object().shape(
{
login: yup.string().when('password',{
is: (v) => v < 100000,then: yup.string().required('Phone No is required').matches(phoneRegExp,'Must be 10 digits'),otherwise: yup.string().email().required('Email is required'),}),password: yup.string().when('login',{
is: (m) => phoneRegExp.test(m),then: yup
.string()
.required('Pin is Required')
.matches(/^[0-9]+$/,'Must be only digits')
.min(5,'Must be exactly 5 digits')
.max(5,'Must be exactly 5 digits'),otherwise: yup.string().required('password is required'),},[['login','password']]
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。