reactjs - 无法使用 Bootstrap 验证 React 中的数字
问题描述
我正在尝试验证使用 React 呈现的 HTML 输入字段是否只接受数字。我目前尝试这样做。
为了验证输入字段只接受数字,必须做什么?
phone: {
elementLabel: 'Phone Number',
elementType: 'input',
elementConfig: {
type: "number",
placeholder: 'Phone Number',
name: "phone",
id: "phone",
min: "0",
pattern: "[0-9]*",
},
value: '',
form_value: "",
validation: {},
valid: false,
touched: false,
className: "form-control",
changed: (event) => this.inputChangedHandler(event,
"phone"),
blured: (event) => this.inputBlurHandler(event,
"phone")
},
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 });
}
这也是我的更改处理程序,看起来在从控件获取输入时未验证 Number。在使用它时,我想要只输入数字,甚至不输入任何特殊字符的验证。
编辑1:
我使用以下版本:
- 引导程序:^4.3.1
- 反应:^16.8.6
解决方案
我认为您使用的模式是错误的。它应该^[0-9]*$
接受任意数量的数字,包括不接受任何数字。
推荐阅读
- c# - 从 SQL 数据库填充 UWP 中的 ComboBox
- mongodb - Connection Reset By Peer - 在 k8s 集群上使用驱动程序 2.8.0 和 mongo 4.0.9
- python-3.x - 如何检查字典中是否有指定值?
- postgresql - 创建数据库管理员角色
- google-cloud-platform - GCP 如何让我通过 GCP 控制台通过 SSH 连接到内部 IP
- python - 如何在 python 中默认以“float32”模式工作?
- ios - 如何让 SwiftUI 全屏显示?
- ios - 如何使用 .scaleAspectFit 和 .top 在 UIImageView 内正确对齐图像?
- javascript - JS 中的基本“警报框”和“将输入与 5 相乘”
- elasticsearch - 对elasticsearch结果进行排序,使以关键字开头的结果首先出现