【发布时间】:2020-09-30 13:22:03
【问题描述】:
我已将<input type="number" value={value} onChange={onChange}> 添加到表单中,并正在使用简化的 onChange 函数检查输入的格式,如以下组件所示:
export function App() {
const [value, setValue] = useState("");
const onChange = (event) => {
console.log("onChange called", event.target.value);
setValue(event.target.value);
};
return <input type="number" value={value} onChange={onChange} />;
}
我想通过 onChange 函数中的验证将输入的值限制为仅整数。
但是,在我可以添加验证之前,我注意到当用户输入一个有效的非整数输入时,例如.、e 或E,输入的值不会传递给onChange 函数,因此我无法执行验证。
以下是可用于重现问题的代码框。
向输入字段添加验证以确保输入是整数的最佳方法是什么?
【问题讨论】:
-
这就是将
type='number'作为属性放入输入字段的全部目的。 HTML 会为您做到这一点。浏览器为您解决了这个问题。为什么需要验证自己?