名称说明类型
validator自定义校验,接收 Promise 作为返回值。示例参考(rule, value) Promise
 
    const setMaxLength = (rule, value) => {
        const Check = { name: 36, age: 9 }
        const max = Check[label] === undefined ? Number.MAX_VALUE : Check[label]
        const message = `${getlabel()}最大长度${max}个字符`
        const IS_CHAECK = value?.length > max
        if (IS_CHAECK) return Promise.reject({ max, message });// 校验失败
        if (!IS_CHAECK) return Promise.resolve(); // 校验成功
    
    }
    <Form
            form={form}
            layout="horizontal"
            name="form_in_modal"
            initialValues={{}}
        >
            <Form.Item
                name={label}
                label={getlabel()}
                rules={[
                    {required: true,message: `不能为空`},
                    {validator: setMaxLength},
                ]}
            >
                <Input />
 
            </Form.Item>
        </Form>

限制只能输入指定字符长度

rules={[
        {
            validator: (rule, value) => {
                let strnum = 36
                // eslint-disable-next-line no-control-regex
                let byteleng = value.replace(/[^\x00-\xff]/g, '**').length;
                let res = byteleng <= strnum
                if (!res) return Promise.reject({ required: true, message: '只能输入36个字符' });// 校验失败
                if (res) return Promise.resolve(); // 校验成功
            }
        },
]}