【问题标题】:Backstage Scaffolder - Validate input field后台脚手架 - 验证输入字段
【发布时间】:2023-02-15 17:50:39
【问题描述】:

我正在寻找一种方法来验证脚手架中输入的结构。如果字符串在模式“kehab case”中。

我希望能够使用例如 RegEx 来进行此验证。

由于我们必须在 yaml 文件中编写这些步骤,因此我还没有找到执行此验证的有效方法。

笔记:请记住,“react-jsonschema”用于表单的“构建”。

【问题讨论】:

    标签: yaml scaffolding react-jsonschema-forms backstage


    【解决方案1】:

    会是……像下面这样:

    import {
      scaffolderPlugin,
      createScaffolderFieldExtension,
    } from '@backstage/plugin-scaffolder';
    import {
      ValidateKebabCase,
      validateKebabCaseValidation,
    } from './ValidateKebabCase/ValidateKebabCaseExtension';
    
    export const ValidateKebabCaseFieldExtension = scaffolderPlugin.provide(
      createScaffolderFieldExtension({
        name: 'ValidateKebabCase',
        component: ValidateKebabCase,
        validation: validateKebabCaseValidation,
      }),
    );
    

    export const validateKebabCaseValidation = (
      value: string,
      validation: FieldValidation,
    ) => {
      const kebabCase = /^[a-z0-9-_]+$/g.test(value);
    
      if (kebabCase === false) {
        validation.addError(
          `Only use letters, numbers, hyphen ("-") and underscore ("_").`,
        );
      }
    };
    

    查看我们的文档以获取完整示例:https://backstage.io/docs/features/software-templates/writing-custom-field-extensions#creating-a-field-extension

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多