我有使用与此代码反应的输入字段:防止用户,大于3个小数
const InputField = props => (
<div className="input-row">
<input
{...props.input}
type={props.type}
className="form-control input-box__input"
placeholder={props.placeholder}
value={props.value}
defaultValue={props.defaultValue}
defaultChecked={props.defaultChecked}
disabled={props.disabled}
onChange={props.onChange}
checked={props.checked}
/>
{props.meta.touched && props.meta.error &&
<span className="error">
{props.intl.formatMessage({ id: props.meta.error }) }
</span>}
</div>
);
我要添加一个validation
或更好的preventDefault
属性,以便它不会让用户输入一个具有三位以上小数点的浮点数。
如果用户输入如下所示的数字:1.234它应该阻止用户输入更多数字,尽管他的键盘上键入了。有关如何实现这一点的任何想法?
你到目前为止尝试过什么?请不要指望我们为您编写代码。提示:我会将纯功能组件转换为类组件,并使用'onKeyDown'处理程序方法来验证当前输入的值。 –
我从来没有说过要为我写代码。我的项目对容器使用无状态组件是强制性的。 – user7334203
尝试'input type =“number”'您可以通过[步骤属性](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number)控制输入大小。这将在浏览器级别上工作,尽管只有那些支持这个HTML元素的浏览器才可以。但是,为什么你想阻止用户从一个特定的号码?无论如何,浮动将翻译为32位 – getjackx