Yup.number().integer() 不将 1.0 视为小数,如何解决这个问题?

问题描述 投票:0回答:0

我有一个字段应该只接受整数,因为我的后端不能接受浮点类型。当使用

Yup.number().integer()
来实现此目的时,它适用于 2、3、100 等整数。但是,当我输入像 1.0 这样的值时,是的,它会将其视为整数而不是小数,并且 不会抛出验证错误。

我们可以配置

Yup.number().integer()
将 1.0 视为小数吗?或者我应该采取不同的方法来验证 Yup 中的整数值?任何见解或建议将不胜感激。谢谢!

我尝试将 test() 与 Number.isInteger 一起使用,但它不起作用

const integerValidation = (value) => {
  if (!Number.isInteger(value)) {
    return false;
  }
  return true;
};

const schema = Yup.object().shape({
  yourIntegerField: Yup.number().test('integer', 'Please enter an integer value', integerValidation),
});
reactjs validation integer decimal yup
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.