validateJob()

in hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts [153:193]


  validateJob(type: 'new' | 'edit', category: keyof JobGlance) {
    const job = type === 'new' ? this.newJob : this.editJob!;
    const errorMessage =
      type === 'new'
        ? this.validateNewJobErrorMessage
        : this.validateEditJobErrorMessage;

    if (category === 'name') {
      const name = job.name;

      if (isEmpty(name)) {
        errorMessage.name = i18next.t('import-manager.validator.no-empty');
      } else if (size(name) > 48) {
        errorMessage.name = i18next.t(
          'import-manager.validator.over-limit-size'
        );
      } else if (!/^[\w\d\u4e00-\u9fa5]{1,48}$/.test(name)) {
        errorMessage.name = i18next.t(
          'import-manager.validator.invalid-format'
        );
      } else {
        errorMessage.name = '';
      }
    }

    if (category === 'description') {
      const description = job.description;

      if (size(description) > 200) {
        errorMessage.description = i18next.t(
          'import-manager.validator.over-limit-size'
        );
      } else if (!/^[\w\d\u4e00-\u9fa5]{0,200}$/.test(description)) {
        errorMessage.description = i18next.t(
          'import-manager.validator.invalid-format'
        );
      } else {
        errorMessage.description = '';
      }
    }
  }