【发布时间】:2022-06-21 23:47:31
【问题描述】:
我正在使用 Yup、React Hook Form 和 MUI V5 构建一个表单。我正在使用来自 MUI V5 的DateTimePicker,但它没有按预期显示 Yup 的错误消息。
理想情况下,错误应显示如下:
- 无效的格式消息:无效的日期格式。 (mm/dd/yyyy hh:mm am 或 下午)
- 必填字段的消息:该字段不能留空。
- 此外,当出现验证错误或字段 失去焦点它不会变红。
因此,如果该字段为空并且我按下提交按钮,则会显示无效格式消息。
这是架构代码:
const schema = yup.object().shape({
name: yup
.string()
.required("Please enter your name. The field cannot be left blank."),
date: yup
.date()
.transform(parseDateString)
.typeError("Invalid date format. (mm/dd/yyyy hh:mm am or pm)")
.nullable()
.required("Please enter a valid date. The field cannot be left blank.")
});
我尝试将nullable() 移动到每个不同的位置,结果仍然相同。
我评论了nullable() 和typeError,我从日期得到默认错误(日期必须是date 类型,但最终值为:Invalid Date。)
【问题讨论】:
-
你能解决这个问题吗?如果是,你能在这里发布你的解决方案吗?谢谢!
标签: material-ui react-hook-form yup