仅限正数 - formik/yup 模式
positive numbers only - formik/yup schema
我做了这样一个架构:
const schema = yup.object().shape({
seats: yup
.number()
.label('seats')
.required('pls enter'),
});
此外,我想检查数字是否为正数或大于 0。有什么方法可以将这样的条件添加到架构中吗?
您可以使用 test()
方法并在那里添加自定义验证:
number: Yup.number()
.required('ERROR: The number is required!')
.test(
'Is positive?',
'ERROR: The number must be greater than 0!',
(value) => value > 0
)
https://github.com/jquense/yup#mixedtestname-string-message-string--function-test-function-schema
实际上,Yup 开箱即用:https://github.com/jquense/yup#numberpositivemessage-string--function-schema
您可以使用 .positive()
也可以使用 .min(1)
const schema = yup.object().shape({
seats: yup
.number()
.positive()
.label('seats')
.required('pls enter')
.min(1),
});
我做了这样一个架构:
const schema = yup.object().shape({
seats: yup
.number()
.label('seats')
.required('pls enter'),
});
此外,我想检查数字是否为正数或大于 0。有什么方法可以将这样的条件添加到架构中吗?
您可以使用 test()
方法并在那里添加自定义验证:
number: Yup.number()
.required('ERROR: The number is required!')
.test(
'Is positive?',
'ERROR: The number must be greater than 0!',
(value) => value > 0
)
https://github.com/jquense/yup#mixedtestname-string-message-string--function-test-function-schema
实际上,Yup 开箱即用:https://github.com/jquense/yup#numberpositivemessage-string--function-schema
您可以使用 .positive()
也可以使用 .min(1)
const schema = yup.object().shape({
seats: yup
.number()
.positive()
.label('seats')
.required('pls enter')
.min(1),
});