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来进行表单初值的赋值。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。