React

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > React > React Antd设置表单只输入数字

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来进行表单初值的赋值。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文