У меня есть поле ввода, использующее реакцию с этим кодом:
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
для проверки введенного в данный момент значения. - person Patrick Hund   schedule 26.05.2017input type="number"
вы можете контролировать размер ввода с помощью атрибута шага а>. Это будет работать на уровне браузера, но только с тем браузером, который поддерживает этот элемент HTML. Но почему вы хотите запретить пользователю определенный номер? В любом случае число с плавающей запятой будет преобразовано в 32-битное. - person getjackx   schedule 26.05.2017