对于电话号码验证中的项或选项值,我在tsx中有一个类型错误。Yup正在抛出类型错误,表示类型的参数。
'(_item: any,options:{ path: string;}) => yup.StringSchema‘不能分配给类型为’(值:字符串) =>架构‘的参数。
这是我的代码:
export const schema = yup.object().shape({
contactID: yup.string().required('Please select an option').nullable(),
firstName: yup.string().when('contactID', {
is: 'other',
then: yup.string().required('First Name is required').nullable(),
otherwise: yup.string().nullable(),
}),
lastName: yup.string().when('contactID', {
is: 'other',
then: yup.string().required('Last Name is required').nullable(),
otherwise: yup.string().nullable(),
}),
phoneNumber: yup.array().of(
yup.object().shape({
phoneNumber: yup.lazy((item: any, options: { path: string }) => {
if (options.path === 'insuredContactInformation.phoneNumber[0].phoneNumber') {
return phoneValidation(true).required('Phone Number is required');
} else return phoneValidation(true);
}),
phoneType: yup.string().nullable()
})
),
});这是错误
发布于 2021-06-30 09:49:54
我通过在传递给组件时更改PropTypes类型来解决这个问题。我传递的不是对象,而是func
// Proptypes
BrandForm.propTypes = {
t: PropTypes.func.isRequired,
onFormSubmit: PropTypes.func.isRequired,
validationSchema: PropTypes.func.isRequired,
};当以这种方式传递到组件时:
<BrandForm
validationSchema={() => addNewBrandSchema(language)}
/>https://stackoverflow.com/questions/66860005
复制相似问题