简体   繁体   English

验证不适用于材料 ui textinput

[英]Validation is not working with material ui textinput

I want to do setState with validation like value is less than 25 and greater than 1, empty is allowed but characters should not allow.我想做 setState 验证,比如值小于 25 且大于 1,允许为空,但不允许使用字符。 Want to add only numbers from 1 to 24.只想添加从 1 到 24 的数字。

function handleChangeWithoutMinusandDecimal(e) {
const re = /^[0-9\b]+$/;
const isNumber = re.test(e.target.value) ? true : false;
// console.log(isNumber);
if (
  (e.target.value > 0 && e.target.value < 25 && isNumber) ||
  e.target.value === ""
) {
  // console.log("hi" + e.target.value);
  setState({
    ...state,
    [e.target.name]: e.target.value,
  });
}

} }

Don't know what's wrong but with this, I can add characters too.不知道出了什么问题,但是有了这个,我也可以添加字符。 Kindly, suggest.请,建议。

Use <TextField/> component and pass type='number' to it.使用<TextField/>组件并将type='number'传递给它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM