自学内容网 自学内容网

antDesign Form表单校验(react)

<script>
        <Form name="basic" ref={formRef} onFinish={onFinish}>
            <Form.Item
                label='校验'
                name="check"
                rules={[
                    // 校验必填
                    {
                        required: true,
                        message: '请输入!'
                    },
                    // 校验输入字符数限制
                    {
                        validator: (_, value) =>
                            value && value.length > 500
                                ? Promise.reject(new Error('输入内容不能超过500个字符!'))
                                : Promise.resolve(),
                    },
                    // 校验输入的不能为负数
                    {
                        validator: (_, value) =>
                            value && value < 0
                                ? Promise.reject(new Error('输入内容不能为负数!'))
                                : Promise.resolve(),
                    },
                    // 校验手机号
                    {
                        pattern: /^1\d{10}$/,
                        message: '手机号格式错误!',
                    },
                    // 校验密码
                    {
                        validator: (_, value) =>
                            value && !/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[\W_]).{8,}$/.test(value)
                                ? Promise.reject(
                                    new Error('密码必须包含至少8个字符,一个字母,一个数字和一个特殊符号!')
                                )
                                : Promise.resolve()
                    },
                    // 校验两次输入的密码是否一致
                    {
                        validator: (_, value) =>
                            value && value !== formRef.current?.getFieldValue('newPassword')
                                ? Promise.reject(new Error('两次输入的密码不一致!'))
                                : Promise.resolve(),
                    }
                ]}
            >
                <Input />
            </Form.Item>
        </Form>
    </script>

注:本人前端小白 ,如有不对的地方还请多多指教


原文地址:https://blog.csdn.net/m0_63788547/article/details/137866985

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!