Formik,是的 - 如何检查是十进制数
Formik, Yup - How to check is Decimal number
我有一个模式:
const SignupSchema = Yup.object().shape({
decimal: Yup.number().integer('invalid decimal'),
});
我需要检查数字是否为十进制,但我在文档中只找到 Integer
您可以添加自定义验证测试,例如使用正则表达式。
const SignupSchema = Yup.object().shape({
decimal: Yup.number().test(
'is-decimal',
'invalid decimal',
value => (value + "").match(/^\d*\.{1}\d*$/),
),
});
const digitsOnly = (value: string) => /^\d*[\.{1}\d*]\d*$/.test(value) || value.length === 0
const schema = yup.object().shape({
inputEntry: yup
.string()
.test('inputEntry', 'The field should have digits only', digitsOnly)
});
以上代码用于在输入字段中只允许使用小数、整数和空值。
我有一个模式:
const SignupSchema = Yup.object().shape({
decimal: Yup.number().integer('invalid decimal'),
});
我需要检查数字是否为十进制,但我在文档中只找到 Integer
您可以添加自定义验证测试,例如使用正则表达式。
const SignupSchema = Yup.object().shape({
decimal: Yup.number().test(
'is-decimal',
'invalid decimal',
value => (value + "").match(/^\d*\.{1}\d*$/),
),
});
const digitsOnly = (value: string) => /^\d*[\.{1}\d*]\d*$/.test(value) || value.length === 0
const schema = yup.object().shape({
inputEntry: yup
.string()
.test('inputEntry', 'The field should have digits only', digitsOnly)
});
以上代码用于在输入字段中只允许使用小数、整数和空值。