ant-design-pro 自定义表单 rules规则

表单输入

复制代码
  <ProFormText
      name="id"
      label={intl.formatMessage({ id: 'pages.secret.form.id' })}
      width="sm"
      rules={[{ validator: checkKeyword }]}
    />

自定义校验

复制代码
  // 自定义关键字规则
  const checkKeyword = (rule: any, value: any, callback: any) => {
    if (!value) {
      callback("内容不能为空!");
    } else if (value === "1") {
      callback("内容不能为1,请您检查!");
    }
    // callback(); 
    // warning: `callback` is deprecated. Please return a promise instead.
    return Promise.resolve();
  };

在表单中校验

复制代码
<ProFormTextArea
    name="apiKey"
    label="apiKey"
    width="xl"
    placeholder={intl.formatMessage({ id: 'pages.secret.form.apiKey.placeholder' })}
    rules={[
      () => ({
        validator(_, value) {
          if (!value) {
            return Promise.reject(new Error("这里不能为空"));
          }
          if (value instanceof Object) {
            return Promise.reject(new Error("请输入正确数据格式"));
          }
          return Promise.resolve();
        },
        required: true,
      }),
    ]}
  />
posted @   牛奔  阅读(889)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2019-08-06 Redis连接时报错:Could not connect to Redis at 127.0.0.1:6379: Connection refused
2019-08-06 docker安装
点击右上角即可分享
微信分享提示