0

我正在尝试在输入框中添加一些仅允许数字(数量)的自定义验证。根据此处给出的示例,我尝试添加自定义验证。

const onlyAmount = value => {
  if (!value) return value
  let onlyNums = value.replace(/^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9][0-9])?$/, '')
  return onlyNums
}

我最终形式的领域就像

<Field
  name="price"
  component="input"
  type="text"
  parse={onlyAmount}
/>

没问题,它不允许我正确添加数字。我阅读了文档,但找不到任何帮助解决方案。

反应最终形式:https ://github.com/final-form/react-final-form

任何建议都会非常有帮助。

4

3 回答 3

0

只需添加 type="number"。键盘不允许除数字外。

于 2018-02-12T09:22:18.687 回答
0

这是你的正则表达式。如果你添加一个控制台来打印你的值,那么你的 onlyNum,你会得到空字符串。

于 2019-12-09T18:35:34.933 回答
0

type="hidden"似乎是一个错误。这不会导致<input type="hidden"/>?

我没有在心理上解析你的正则表达式,但我建议你尝试在你链接到的那个沙箱中测试你的解析函数,看看它为什么不起作用。

于 2018-02-13T00:26:03.657 回答