React Antd中如何设置表单只输入数字
作者:关山煮酒
这篇文章主要介绍了React Antd中如何设置表单只输入数字问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
React Antd设置表单只输入数字
废话不多说,直接上代码:
<Form.Item name = "postcode" label="邮编" rules={[
{
required: true,
message: '请输入邮政编码',
},//!!!控制只能输入数字的规则在下面
() =>({
validator(rule,value){
if(/\d{6}/.test(value)){//if中是正则表达是,判断是否是6位数字
return Promise.resolve();
}
else
{
return Promise.reject("请输入6位邮政编码");//如果违反规则,就会给出提示
}
}
}),]}>
<Input type="text" id="postcode" placeholder="邮编"/>
</Form.Item>具体的一些说明在代码中注释了!其中if中的正则表达式中d{6}式中的6表示只能输入6个数字。
此外,<Form.item> 中的name属性必须指定才能够进行判断。
另外关于手机号的表单输入也可以见如下代码:
<Form.Item name="phoneNumber" label="电话号码" rules={[
{
required: true,
message: '请输入收件人电话号码!',
},
() =>({
validator(rule,value){
if(/^1[3-9]\d{9}/.test(value)){
return Promise.resolve();
}
else
{
return Promise.reject("请输入正确的手机号");
}
}
})]} >
<Input id="phoneNumber" placeholder="电话号码" />
</Form.Item>看不懂正则表达式的直接用就行了。
这里简单解释一下,就是以1开头,后面数组限制在3到9,最后再要求输入9个数字即可。
React antd进行表单验证误报
使用React antd进行表单验证时,已经给表单元素赋值了,但无法通过验证
在做表单编辑时,需要对表单进行默认值显示,但是使用radio、upload、rangePicker等组件时,需要给formItem设置initialValue或通过form的setFieldsValue来进行表单初值的赋值。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
