Javascript 获取本年度及以上的Formik验证
我需要使用Formik进行验证,输入应该是currentYear和upJavascript 获取本年度及以上的Formik验证,javascript,reactjs,formik,yup,react-material,Javascript,Reactjs,Formik,Yup,React Material,我需要使用Formik进行验证,输入应该是currentYear和up const currentYear = new Date().getFullYear(); expiryYear: yup .string() .required('Select expiry year') .min(4, `Invalid year format (Example: ${currentYear + 4})`) .max(4, `Invalid year format (Example: ${curren
const currentYear = new Date().getFullYear();
expiryYear: yup
.string()
.required('Select expiry year')
.min(4, `Invalid year format (Example: ${currentYear + 4})`)
.max(4, `Invalid year format (Example: ${currentYear + 4})`)
.when('startDate', (currentYear, schema) => currentYear && schema.min(currentYear)),
请试试这个:
yup.date()
.min(新日期().getFullYear(),
“年度必须为当前年度或大于当前年度”);
检查
如果要验证年份长度,可以使用以下方法:
yup.number()
.test('len','必须正好是4个字符',
val=>val&&val.toString().length==4.min(新日期().getFullYear());
这将首先验证年份长度,然后检查它是否大于或等于当前年份。谢谢。但是,当我键入
20
时,它输出的expiryYear必须是日期
类型,但最终值是:无效日期
(从值“20”
转换而来)。这个错误消息来自哪里?你能为这个添加一个额外的验证器吗?谢谢我使用type=“text”
的方式是您希望以何种形式输入?请分享你的代码,我想我能解决它。您想验证您给定的年份是否也有4位数字吗?嗨!是的,请加上验证。。请检查此项。您好,请首先将您的textfield
从text
更改为number
,然后按照我在回答中添加的上述代码进行操作。谢谢。你能不能也定个月。我想它已经修好了。但是我有一个问题,当我输入2
时,它会失效,应该是02
。有没有一种方法,如果我写2
,它会自动转换为02
?谢谢