• Form自定义校验


           <Form.Item
                colon={false}
                {...formItemLayout}
                label={formatMessage({
                  id: 'DataClassifyConfig.subtypeCode',
                  defaultMessage: '子分类编码',
                })}
              >
                {getFieldDecorator('subtypeCode', {
                  initialValue: dataSubType && dataSubType.subtypeCode,
                  rules: [
                    {
                      required: true,
                      message: formatMessage({
                        id: 'DataClassifyConfig.checkCode',
                        defaultMessage: '只能输入大小写英文、符号和数字',
                      }),
                    },
                    {
                      validator: (rule, value, callback) =>
                        this.handleValidator(rule, value, callback, dataSubType.subtypeCode),
                    },
                  ],
                })(
                  <Input
                    placeholder={formatMessage({
                      id: 'COMMON_ENTER_TIP',
                      defaultMessage: '请输入',
                    })}
                  />
                )}
              </Form.Item>
    

      

      handleValidator = (rule, value, callback, val) => {
        const { list } = this.props;
        const codeExp = /^[a-z0-9A-Z]$/;
        let isTrue = false;
        list.map(o => {
          if (o.subtypes.find(item => item.subtypeCode == value) !== undefined && val !== value) {
            isTrue = true;
          }
          return o;
        });
        if (isTrue) {
          callback(
            formatMessage({
              id: 'DataClassifyConfig.nameAlreadyExists',
              defaultMessage: '该名称已存在',
            })
          );
        } else if (!value.match(codeExp)) {
          callback(
            formatMessage({
              id: 'DataClassifyConfig.checkCode',
            })
          );
        } else if (escape(value).indexOf('%u') != -1) {
          callback(
            formatMessage({
              id: 'DataClassifyConfig.checkCode',
            })
          );
        } else if (!(value.indexOf(" ") == -1)) {
          callback(
            formatMessage({
              id: 'DataClassifyConfig.checkCode',
            })
          );
        } else {
          callback();
        }
      };
    

      

  • 相关阅读:
    C++11智能指针处理Array对象
    jquery代码链实现延时执行代码的较优雅办法
    [Leetcode Weekly Contest]271
    macOS输入法提示条消失问题
    MacBook手势失灵的问题
    zsf bash_profile 区别
    Git放弃本地修改
    :disabled="add_content === changeIf ? true:false"
    将已加入的文件忽略
    nginx配置nacos集群代理机制
  • 原文地址:https://www.cnblogs.com/lipu12281/p/13679006.html
Copyright © 2020-2023  润新知