我希望TextInput
准确验证16位数字。我尝试了以下方法:
yup.number()
.test('len', 'Must be exactly 16 numbers', val => val.length === 16)
但是,每次我在该字段中键入任何内容时,都会得到以下内容:
可能未处理的承诺拒绝
我尝试了以下方法:
yup.number().max(16)
但是,即使我准确输入了16位数字,它仍然会抛出一个错误,指出它必须小于或等于16个字符。
这是因为数字没有length
属性。您需要先将其转换为字符串。另外,检查数字上的max
将在大于16的任何数字上出错,而不是长度超过16位的数字。
yup.number()
.test('len', 'Must be exactly 16 numbers', val => val.toString().length === 16)