Reactjs 无法验证React with Bootstrap中的数字
我正在尝试验证一个HTML输入字段,该字段使用React to only accept number呈现。我目前正试图这样做 为了验证输入字段是否只接受数字,必须执行哪些操作Reactjs 无法验证React with Bootstrap中的数字,reactjs,bootstrap-4,Reactjs,Bootstrap 4,我正在尝试验证一个HTML输入字段,该字段使用React to only accept number呈现。我目前正试图这样做 为了验证输入字段是否只接受数字,必须执行哪些操作 电话:{ elementLabel:'电话号码', elementType:'输入', 元素配置:{ 键入:“数字”, 占位符:“电话号码”, 姓名:“电话”, id:“电话”, 最小值:“0”, 模式:“[0-9]*”, }, 值:“”, 形式_值:“”, 验证:{}, 有效:假, 感动:错,, 类名:“表单控件”, 更
电话:{
elementLabel:'电话号码',
elementType:'输入',
元素配置:{
键入:“数字”,
占位符:“电话号码”,
姓名:“电话”,
id:“电话”,
最小值:“0”,
模式:“[0-9]*”,
},
值:“”,
形式_值:“”,
验证:{},
有效:假,
感动:错,,
类名:“表单控件”,
更改:(事件)=>此.inputChangedHandler(事件,
“电话”),
模糊:(事件)=>此.inputBlurHandler(事件,
“电话”)
},
这也是我的更改处理程序的外观
从控件获取输入时,不会验证编号。在使用它时,我希望validaiton只输入数字,甚至不输入任何特殊字符
编辑1:
我使用以下版本:
- 引导:^4.3.1
- 反应:^16.8.6
- 我认为您使用的模式是错误的。它应该是
^[0-9]*$
,可以接受任意数量的数字,包括无数字。尝试使用类似的模式:“.{10}”,让我知道它是否有效you@DILEEPTHOMAS没有;Twork@Nandani请将React和Bootstrap的版本添加到您的帖子中。此外,请准确添加您使用手机的位置的更多上下文。一个JSON是不够的。向我们展示您将其放入的变量以及在何处使用它。“引导”:“^4.3.1”,“反应”:“^16.8.6”@Socrates还用render更新了问题你可以发布inputChangedHandler
函数的phone
属性定义吗?用handler更新了问题使用模式的验证函数在哪里?我没有任何东西如果你根本不使用模式验证输入,你如何验证它?
render(){
<div>
<Input {...this.state.name}/>
</div>
}
inputChangedHandler = (event, inputIdentifier) => {
const updatedForm = {
...this.state
};
const updatedFormElement = {
...this.state[inputIdentifier]
};
Utils.updateElementValue(updatedFormElement, event, inputIdentifier);
updatedFormElement.touched = true;
updatedForm[inputIdentifier] = updatedFormElement;
let formIsValid = true;
for (let inputIdentifier in updatedForm) {
if (updatedForm[inputIdentifier].elementType) {
formIsValid = updatedForm[inputIdentifier].valid && formIsValid;
}
}
this.setState({ [inputIdentifier]: updatedFormElement, formIsValid: formIsValid });
}