如何正确控制数据输入



有一个任务要监督输入。有必要在实体输入中只输入数字字符串([0-9](。同时,如果输入了其他内容,则不要覆盖值,也不要在输入中显示不正确的输入。我找不到解决我的案子的办法。有效性检查(target.Validity.valid(也不起作用,因为我可以控制最小和最大长度。同时,我有一个用于多个输入的通用函数,但只需要检查实体。请告诉我如何正确实现对输入[0-9]的检查,这样就不能输入其他内容。

资源上的示例不合适,因为它们没有考虑对最小最大长度的控制

下面是一个缩短的代码示例

const [inputState, setInputState] = useState({title : "", entity: ""})
const handleChangeInputValue = (event) => {
const { target } = event;
const { name, value } = target;
// Need to check for numbers
setInputState({ ...inputState, [name]: value });
};

<input
required
minLength={5}
type="text"
placeholder="Enter name"
name="title"
value={inputState.title}
onChange={handleChangeInputValue}
/>
<input
required
minLength={13}
maxLength={15}

type="text"
placeholder="Enter entity"
name="entity"
value={inputState.entity}
onChange={handleChangeInputValue}
/>

您可以使用HTML 5

<input type="number" name="someid" />

这将只适用于HTML5投诉浏览器。确保您的html文档的doctype为:

<!DOCTYPE html>
if(name==='entity' && !value.match(/^d+$/)) { 
return
}

最新更新