bounty将在6天后过期。回答此问题可获得+50声望奖励。Alex T希望引起更多人关注此问题。
我使用yup来验证输入字段中的值:
const dateToCheck = yup
.date()
.nullable()
.transform((curr, orig) => (orig === '' ? null : curr))
.required()
.min(minDate, 'Date cannot be this early')
.max(maxDate, 'Date too much in the future')
.test('format', 'Date is invalid', date => (date?.getFullYear() ?? 0) <= 9999)
我一直想弄清楚如何检查输入的日期是否具有正确的格式?因为yup的工作原理,01.01.2000
和2000/01/01
都将通过date
验证,但我希望能够仅通过dd.MM.yyyy
或仅通过yyyy/MM/dd
,而不是两者,然后将有效的其他格式改为标记为无效。什么是正确的方法来做这件事在yup?
1条答案
按热度按时间abithluo1#
作为在格式不正确时显示错误的另一种方法,您可以将输入日期更改为所需的格式。以下示例将所有日期解析为
yyyy-MM-dd
: