Javascript Redux表单字段级验证在Edge中不起作用

Javascript Redux表单字段级验证在Edge中不起作用,javascript,reactjs,microsoft-edge,redux-form,Javascript,Reactjs,Microsoft Edge,Redux Form,我使用此路径中的示例代码验证数字输入 const number = value => value && isNaN(Number(value)) ? 'Must be a number' : undefined 它不会阻止我在Microsoft Edge中键入非数字字符。如何解决此问题?将输入转换为数字输入字段。在手机上,键盘上只有数字。因此,它更像是一个浏览器的东西。验证只会防止在输入错误值时提交和显示错误消息 如果要在手机上执行此操作,请使用onKeyPress事件:

我使用此路径中的示例代码验证数字输入

const number = value => value && isNaN(Number(value)) ? 'Must be a number' : undefined
它不会阻止我在Microsoft Edge中键入非数字字符。如何解决此问题?

将输入转换为数字输入字段。在手机上,键盘上只有数字。因此,它更像是一个浏览器的东西。验证只会防止在输入错误值时提交和显示错误消息

如果要在手机上执行此操作,请使用
onKeyPress
事件:

const NumberInput = ()=>{

  const onKeyPress = (e) => {
    if(e.which<48 || e.which>57) {
      e.preventDefault()
    }
  }

  return (
    <input onKeyPress={onKeyPress} />
  )
}
constnumberInput=()=>{
const onKeyPress=(e)=>{
如果(如第57条){
e、 预防默认值()
}
}
返回(
)
}

小例子:

谢谢你的回答。我知道这是一个与浏览器相关的问题。我得到的要求是阻止用户输入非数字。你知道怎么做吗?我用一个小例子编辑了我的答案来说明这个原理。当然,您必须使用onChange处理程序等来推进它。